
18.01.2012, 11:06
|
 |
.
|
|
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
|
|
Одной строкой не получится, нужно играться с командами auxGetVolume, auxSetVolume.
Код:
type
TVolumeType = record
case Integer of
0: (LongVolume: Longint);
1: (LeftVolume, RightVolume : Word);
end;
var
FSound : Integer;
procedure VolumeInit;
var
AuxCaps : TAuxCaps;
I : Integer;
begin
FSound := -1;
for I := 0 to auxGetNumDevs - 1 do
begin
auxGetDevCaps(I, @AuxCaps, SizeOf(AuxCaps));
if ((AuxCaps.dwSupport and AUXCAPS_VOLUME) <> 0) and
((AuxCaps.wTechnology and AUXCAPS_CDAUDIO <> 0)) then
begin
FSound := I;
Break;
end;
end;
end;
procedure SetVolume(Volume : Byte);
var
Vol : TVolumeType;
begin
Vol.LeftVolume := Volume shl 8;
Vol.RightVolume := Vol.LeftVolume;
auxSetVolume(FSound, Vol.LongVolume);
end;
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
|