Master Volume

2 отговора 133 прегледа
#1

Master Volume

Hi,
Как мога да управлявам Master Volume от приложна програма? Някой да е минавал през този проблем?

Благодаря предварително

Никога не е късно да...
Отговор
в отговор на Eventer #2

Re: Master Volume

Опитай с нещо такова :

uses MMSystem;

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

const DeviceIndex=5
{0:Wave
1:MIDI
2:CDAudio
3:Line-In
4:Microphone
5:Master
6:PC-loudspeaker}

procedure SetVolume(aVolume:Byte) ;
var Vol: TVolumeRec;
begin
Vol.LeftVolume := aVolume shl 8;
Vol.RightVolume:= Vol.LeftVolume;
auxSetVolume(UINT(DeviceIndex), Vol.LongVolume) ;
end;

function GetVolume:Cardinal;
var Vol: TVolumeRec;
begin
AuxGetVolume(UINT(DeviceIndex),@Vol.LongVolume) ;
Result:=(Vol.LeftVolume + Vol.RightVolume) shr 9;
end;


Отговор
в отговор на Eventer #3

Re: Master Volume

Виж Audio Mixer Reference в Win32 SDK хелпа - там са описани всички API функции за контрол на звука.

Mixy
Отговор