Раздельное изменение громкости Левого и Правого каналов
- 2 младших байта (от 0 до 65535) - громкость левого канала
- 2 старших байта (от 0 до 65535) - громкость правого канала
При использовании этих процедур, Вы можете устанавливать громкость отдельно для каждого канала:
uses MMsystem Procedure Left_volume (value : Dword); var Rvol, temp : Dword; begin // Получаем текущую громкость WaveOutGetVolume(WAVE_MAPPER, @temp); Rvol := HiWord (temp); asm shl Rvol, 16 end; Rvol := Rvol and $ffff0000; WaveOutSetVolume(WAVE_MAPPER, value or Rvol); end; Procedure Right_volume (value : Dword); var Lvol, temp : Dword; begin WaveOutGetVolume(WAVE_MAPPER, @temp); Lvol := LoWord (temp); asm shl value, 16 end; value := value and $ffff0000; WaveOutSetVolume(WAVE_MAPPER, value or Lvol); end;
Автор: Pooia Lalbakhsh
Комментарии