Share via


Função midiOutSetVolume (mmeapi.h)

A função midiOutSetVolume define o volume de um dispositivo de saída MIDI.

Sintaxe

MMRESULT midiOutSetVolume(
  HMIDIOUT hmo,
  DWORD    dwVolume
);

Parâmetros

hmo

Identificador para um dispositivo de saída MIDI aberto. Esse parâmetro também pode conter o identificador de um fluxo MIDI, desde que seja convertido em HMIDIOUT. Esse parâmetro também pode ser um identificador de dispositivo.

dwVolume

Nova configuração de volume. A palavra de baixa ordem contém a configuração de volume do canal esquerdo e a palavra de alta ordem contém a configuração de canal direito. Um valor de 0xFFFF representa o volume completo e um valor de 0x0000 é o silêncio.

Se um dispositivo não oferecer suporte ao controle de volume esquerdo e direito, a palavra de baixa ordem dwVolume especificará o nível de volume mono e a palavra de alta ordem será ignorada.

Retornar valor

Retorna MMSYSERR_NOERROR se tiver êxito ou um erro de outra forma. Os valores de erro possíveis incluem o seguinte.

Código de retorno Descrição
MMSYSERR_INVALHANDLE
O identificador de dispositivo especificado é inválido.
MMSYSERR_NOMEM
O sistema não pode alocar ou bloquear memória.
MMSYSERR_NOTSUPPORTED
Não há suporte para a função .

Comentários

Se um identificador de dispositivo for usado, o resultado da chamada midiOutSetVolume se aplicará a todas as instâncias do dispositivo. Se um identificador de dispositivo for usado, o resultado se aplicará somente à instância do dispositivo referenciada pelo identificador do dispositivo.

Nem todos os dispositivos dão suporte a alterações de volume. Você pode determinar se um dispositivo dá suporte a ele consultando o dispositivo usando a função midiOutGetDevCaps e o sinalizador MIDICAPS_VOLUME.

Você também pode determinar se o dispositivo dá suporte ao controle de volume nos canais esquerdo e direito consultando o dispositivo usando a função midiOutGetDevCaps e o sinalizador MIDICAPS_LRVOLUME.

Os dispositivos que não dão suporte a um controle de nível de volume completo de 16 bits usam os bits de alta ordem da configuração de volume solicitada. Por exemplo, um dispositivo que dá suporte a 4 bits de controle de volume produz a mesma configuração de volume para os seguintes valores de nível de volume: 0x4000, 0x43be e 0x4fff. A função midiOutGetVolume retorna o valor completo de 16 bits, conforme definido por midiOutSetVolume, independentemente dos recursos do dispositivo.

As configurações de volume são interpretadas logaritmoticamente. Isso significa que o aumento percebido no volume é o mesmo ao aumentar o nível de volume de 0x5000 para 0x6000 como é de 0x4000 para 0x5000.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho mmeapi.h (inclua Windows.h)
Biblioteca Winmm.lib
DLL Winmm.dll

Confira também

Funções MIDI