Compartilhar via


Alterando o volume de Waveform-Audio reprodução

[O recurso associado a esta página, Waveform Audio, é um recurso herdado. Ele foi substituído por WASAPI e Audio Graphs. WASAPI e Audio Graphs foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use WASAPI e Audio Graphs em vez de Waveform Audio, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

O Windows fornece as seguintes funções para consultar e definir o nível de volume de dispositivos de saída waveform-audio.

Função Descrição
waveOutGetVolume Recupera o nível de volume atual do dispositivo de saída waveform-audio especificado.
waveOutSetVolume Define o nível de volume do dispositivo de saída waveform-audio especificado.

 

Nem todos os dispositivos de áudio de forma de onda dão suporte a alterações de volume. Alguns dispositivos dão suporte ao controle de volume individual nos canais esquerdo e direito. Para obter informações sobre como determinar os recursos de controle de volume de dispositivos de áudio de forma de onda, consulte Dispositivos e tipos de dados.

Alguns aplicativos permitem que o usuário controle o volume de todos os dispositivos de áudio em um sistema. (Muitos aplicativos desse tipo usam os serviços de mixer de áudio; para obter mais informações, consulte Audio Mixers.) A menos que seu aplicativo seja capaz desse tipo de controle de volume master, você deve abrir um dispositivo de áudio antes de alterar seu volume. Você também deve consultar o nível de volume antes de alterá-lo e restaurar o nível de volume para o nível anterior o mais rápido possível.

O volume é especificado em um valor de palavra dupla. Quando o formato de áudio é estéreo, os 16 bits superiores especificam o volume relativo do canal direito e os 16 bits inferiores especificam o volume relativo do canal esquerdo. Para dispositivos que não dão suporte ao controle de volume de canal esquerdo e direito, os 16 bits inferiores especificam o nível de volume e os 16 bits superiores são ignorados.

Os valores no nível do volume variam de 0x0 (silêncio) a 0xFFFF (volume máximo) e são interpretados logaritmoticamente. O aumento de volume percebido é o mesmo ao aumentar o nível de volume de 0x5000 para 0x6000, pois é de 0x4000 para 0x5000.