Статьи
|
Две процедуры, которые иллюстрируют раздельное изменение громкости Левого и Правого каналов.
При использовании WaveOutSetVolume из MMSYSTEM, Вы можете изменять громкость звука. Чтобы это использовать, нужно установить значение в DWord переменной:
- 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
|