Modifica del volume della riproduzione di Waveform-Audio

[La funzionalità associata a questa pagina , Waveform Audio, è una funzionalità legacy. È stato sostituito da WASAPI e grafici audio. WasAPI e grafici audio sono stati ottimizzati per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi grafici WASAPI e Audio anziché Waveform Audio, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Windows fornisce le funzioni seguenti per eseguire query e impostare il livello di volume dei dispositivi di output audio waveform.

Funzione Descrizione
waveOutGetVolume Recupera il livello di volume corrente del dispositivo di output audio waveform specificato.
waveOutSetVolume Imposta il livello di volume del dispositivo di output audio waveform specificato.

 

Non tutti i dispositivi audio waveform supportano le modifiche del volume. Alcuni dispositivi supportano un singolo controllo del volume nei canali sinistro e destro. Per informazioni su come determinare le funzionalità di controllo del volume dei dispositivi audio waveform, vedere Dispositivi e tipi di dati.

Alcune applicazioni consentono all'utente di controllare il volume per tutti i dispositivi audio in un sistema. Molte applicazioni di questo tipo usano i servizi mixer audio. Per altre informazioni, vedi Mixer audio. A meno che l'applicazione non sia in grado di questo tipo di controllo del volume master, è necessario aprire un dispositivo audio prima di modificarne il volume. È anche consigliabile eseguire una query sul livello del volume prima di modificarlo e ripristinare il livello del volume al livello precedente appena possibile.

Il volume viene specificato in un valore doubleword. Quando il formato audio è stereo, i 16 bit superiori specificano il volume relativo del canale destro e i 16 bit inferiori specificano il volume relativo del canale sinistro. Per i dispositivi che non supportano il controllo del volume a sinistra e a destra, i 16 bit inferiori specificano il livello del volume e i 16 bit superiori vengono ignorati.

I valori a livello di volume sono compresi tra 0x0 (silenzio) e 0xFFFF (volume massimo) e vengono interpretati in modo logaritmico. L'aumento del volume percepito è lo stesso quando si aumenta il livello di volume da 0x5000 a 0x6000, dal 0x4000 al 0x5000.