Раздельное изменение громкости Левого и Правого каналов
- 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
Комментарии