![]() |
|
|
#1
|
|||
|
|||
|
Подскажите как изменять общую громкость в Windows к примеру с помощью TrackBara ?
|
|
#2
|
||||
|
||||
|
Один из вариантов:
Код:
procedure SetVolume(X: Word);
var
iErr: Integer;
i: integer;
a: TAuxCaps;
begin
for i := 0 to auxGetNumDevs do
begin
auxGetDevCaps(i, Addr(a), SizeOf(a));
if a.wTechnology = AUXCAPS_CDAUDIO then
break;
end;
// Устанавливаем одинаковую громкость для левого и правого каналов.
// VOLUME := LEFT*$10000 + RIGHT*1
iErr := auxSetVolume(i, (X * $10001));
if (iErr‹›0) then
ShowMessage('No audio devices are available!');
end; |
|
#3
|
|||
|
|||
|
Я только учусь!Всё,что читал в инэте,не работало,или я не правильно что-то делал.
Вот в коде тоже не пойму откуда брать procedure SetVolume(X: Word);? |
|
#4
|
||||
|
||||
|
Это готовая процедура, вызываете её с величиной от 0 до 100
Код:
SetVolume(10); SetVolume(20); SetVolume(30); SetVolume(40); |
|
#5
|
|||
|
|||
|
пишет
No audio devices are available Код:
procedure TForm1.Button1Click(Sender: TObject); begin SetVolume(1); end; не так должно быть? |
|
#6
|
||||
|
||||
|
Вот доработанный напильником код:
Код:
procedure SetVolume(X : Word);
type
TVolumeType = record
case Integer of
0: (LongVolume: Longint);
1: (LeftVolume, RightVolume : Word);
end;
var
iErr : Integer;
I, J : Integer;
WaveOutCaps : TWaveOutCaps;
Vol : TVolumeType;
begin
J := 0;
for I := 0 to waveOutGetNumDevs - 1 do
begin
waveOutGetDevCaps(I, @WaveOutCaps, SizeOf(WaveOutCaps));
if (WaveOutCaps.dwSupport and WAVECAPS_VOLUME) <> 0 then
begin
Vol.LeftVolume := X shl 8;
Vol.RightVolume := Vol.LeftVolume;
J := I;
Break;
end;
end;
iErr := waveOutSetVolume(J, Vol.LongVolume);
if (iErr <> 0) then
ShowMessage('No audio devices are available!');
end; |
|
#7
|
|||
|
|||
|
Не выходит чего-то ничего!Может я не правильно объяснил что мне нужно?
На моей форме есть компонент TrackBar и мне надо,чтоб я с помощью него регулировал звук,то есть,если я убавляю звук,то и в Windows"ком регуляторе громкости он тоже убавляться,а если я через Windows регулятор убавляю то и в TrackBar тоже убавлялся. |
|
#8
|
||||
|
||||
|
Не работает?
Срочно купить учебник по Дельфи и учить, учить, учить. |