Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.27;
Скачать: CL | DM;

Вниз

Как управлять балансом звука из моей программы   Найти похожие ветки 

 
AlexLine   (2004-11-09 16:58) [0]

Уважаемые знатоки. Как управлять балансом звука из программы?

Заранее благодарю

Александр


 
programania ©   (2004-11-09 21:01) [1]


Vol:record
   case Integer of
   0: (LongVolume: Longint);
   1: (LeftVolume,
       RightVolume : Word);
   end;

PROCEDURE volIni;
var
WaveOutCaps : TWaveOutCaps;
I           : Integer;
begin
FDevice:= -1;
for I := 0 to waveOutGetNumDevs - 1 do begin
 waveOutGetDevCaps(I, @WaveOutCaps, SizeOf(WaveOutCaps));
 if (WaveOutCaps.dwSupport and WAVECAPS_VOLUME) <> 0 then begin
   FDevice := I; break;
 end;
end;
end;

PROCEDURE setVolume(Volume,balans:integer);
//balans=-100..+100  0=одинаково
//volume=0..255;
begin
if FDevice>=0 then begin
Vol.LeftVolume := Volume shl 8* (100+balans) div 100;
Vol.RightVolume :=Volume shl 8* (100-balans) div 100;
waveOutSetVolume(FDevice, Vol.LongVolume);
end;
end;

FUNCTION getVolume: Byte;
begin
if FDevice>=0 then begin
waveOutGetVolume(FDevice, @Vol.LongVolume);
result := (Vol.LeftVolume + Vol.RightVolume) shr 9;
end
else result:=0;
end;


Хотя я управляю через BASS:
BASS_ChannelSetAttributes(chan,-1,-100,pan);



Страницы: 1 вся ветка

Текущий архив: 2005.02.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.038 c
1-1108257172
VID
2005-02-13 04:12
2005.02.27
Небольшая проблемка с XP


14-1107891309
AlterEgo of WondeRu
2005-02-08 22:35
2005.02.27
Часто ли Вы берете работу на дом?


3-1107163259
Bless
2005-01-31 12:20
2005.02.27
Проблемка с кодом возврата хранимой процедуры в Delphi


1-1108021065
KingDog
2005-02-10 10:37
2005.02.27
вот знаете что то при n = 31 не считает


1-1108140257
Zilog
2005-02-11 19:44
2005.02.27
Можно корректно ли удалить TabSheet, с содержимым?