Tecnobyte

Escrevi três funções que acessam a API do Windows para controlar o volume de sons wave. function Wave_SuportaControleVolume: boolean; var Caps: TWaveOutCaps; begin if WaveOutGetDevCaps(WAVE_MAPPER, @Caps, SizeOf(Caps)) = MMSYSERR_NOERROR then Result := Caps.dwSupport and WAVECAPS_VOLUME <> 0 else Result := false; end; type TVolume = record Esquerdo: Word; Direito: Word; end; function Wave_ObterVolume: TVolume; begin waveOutGetVolume(integer(WAVE_MAPPER), @Result); end; procedure Wave_DefinirVolume(Volume: TVolume); begin waveOutSetVolume(integer(WAVE_MAPPER), LongWord(Volume)); end; A primeira função verifica se o dispositivo Wave instalado suporta o controle de volume. O retorno desta função é true em caso positivo. As duas funções seguintes permitem obter e definir o volume, respectivamente. O tipo TVolume permite controlar os canais esquerdo e direito individualmente.
O conteúdo desta página pode ajudar alguém? Compartilhe!