Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.03.07;
Скачать: [xml.tar.bz2];

Вниз

Громкость звука   Найти похожие ветки 

 
YY   (2002-01-02 15:03) [0]

Не подскажет ли кто-нибудь как можно программно изменять уровень громкости звука в Windows?


 
Vovchik   (2002-01-02 16:43) [1]

Есть ф-ции, начинающиеся с "mci". Ещё могу предложить посмотреть исходники TMediaPlayer.


 
TonnyS   (2002-01-03 15:46) [2]

насчёт WIN2K и NT не знаю, а в вин98 с помощью миксера. Смотри хелп по mixerOpen и так далее. Общая идеология:

1. Открыть миксер mixerOpen
2. Получить параметры нужной линии mixerGetLineInfo
3. Получить список контролов линии mixerGetLineControls

4. Получить параметры контрола mixerGetControlDetails
5. Установить параметры контрола mixerGetControlDetails

6. Закрыть миксер MixerClose

вобщем всё, если надо детальнее - то завтра, исходники дома забыл (как раз на выходных это делал)


 
TonnyS   (2002-01-03 16:16) [3]

сорри, п.5 - mixer SetControlDetails
функции описаны в хелпе Дельфи, правда в сишном варианте



 
SergVlad   (2002-01-03 23:23) [4]

Вот оно как

uses MMSystem;
..
var WOut : TWaveOutCaps;
LVol,RVol: word;
Vol: dword;
..

Vol := MakeLong(LVol, RVol);
if WaveOutGetDevCaps(WAVE_MAPPER, @WOut, sizeof(WOut)) =
MMSYSERR_NOERROR then begin
if WOut.dwSupport and WAVECAPS_VOLUME = WAVECAPS_VOLUME then
WaveOutSetVolume(WAVE_MAPPER, Vol);
end;


 
Dimaond Cat   (2002-01-05 03:49) [5]

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls;

type
TForm1 = class(TForm)
TrackBar1: TTrackBar;
TrackBar2: TTrackBar;
Label1: TLabel;
Label2: TLabel;
TrackBar3: TTrackBar;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
procedure TrackBar1Change(Sender: TObject);
procedure TrackBar3Change(Sender: TObject);
procedure TrackBar2Change(Sender: TObject);
procedure TrackBar3Exit(Sender: TObject);
procedure TrackBar1Exit(Sender: TObject);
procedure TrackBar2Exit(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}
uses mmsystem;

function GetWaveVolume: DWord;
var
Woc : TWAVEOUTCAPS;
Volume : DWord;
begin
result:=0;
if WaveOutGetDevCaps(WAVE_MAPPER, @Woc, sizeof(Woc)) =
MMSYSERR_NOERROR then
if Woc.dwSupport and WAVECAPS_VOLUME = WAVECAPS_VOLUME then
begin
WaveOutGetVolume(WAVE_MAPPER,@Volume);
Result := Volume;
end;
end;

procedure SetWaveVolume(const AVolume: DWord);
var
Woc : TWAVEOUTCAPS;
begin
if WaveOutGetDevCaps(WAVE_MAPPER, @Woc, sizeof(Woc)) =
MMSYSERR_NOERROR then
if Woc.dwSupport and WAVECAPS_VOLUME = WAVECAPS_VOLUME then
WaveOutSetVolume(WAVE_MAPPER, AVolume);
end;

procedure TForm1.TrackBar1Change(Sender: TObject);
var
LeftVolume: Word;
RightVolume: Word;
begin
Label3.Caption:=IntTostr(TrackBar1.Position);
if TrackBar1.Position>TrackBar2.position then TrackBar3.Position:=TrackBar1.position;
LeftVolume :=TrackBar1.Position*655;
RightVolume := TrackBar2.Position*655;
SetWaveVolume(MakeLong(LeftVolume, RightVolume));
beep;
end;

procedure TForm1.TrackBar3Change(Sender: TObject);
var
LeftVolume: Word;
RightVolume: Word;
begin
TrackBar1.Position:=TrackBar3.position;
TrackBar2.Position:=TrackBar3.position;
Label3.Caption:=IntTostr(TrackBar1.Position);
Label4.Caption:=IntTostr(TrackBar2.Position);
LeftVolume :=TrackBar1.Position*655;
RightVolume := TrackBar2.Position*655;
SetWaveVolume(MakeLong(LeftVolume, RightVolume));
beep;
end;

procedure TForm1.TrackBar2Change(Sender: TObject);
var
LeftVolume: Word;
RightVolume: Word;
begin
Label4.Caption:=IntTostr(TrackBar2.Position);
if TrackBar2.Position>TrackBar1.position then TrackBar3.Position:=TrackBar2.position;
LeftVolume :=TrackBar1.Position*655;
RightVolume := TrackBar2.Position*655;
SetWaveVolume(MakeLong(LeftVolume, RightVolume));
beep
end;

procedure TForm1.TrackBar3Exit(Sender: TObject);
begin
beep
end;

procedure TForm1.TrackBar1Exit(Sender: TObject);
begin
beep
end;

procedure TForm1.TrackBar2Exit(Sender: TObject);
begin
beep;
end;

end.


 
Dimaond Cat   (2002-01-06 16:49) [6]

Да , забыл у всех TrackBar параметр MAX надо установить в 100


 
Wizard_Ex   (2002-01-07 11:37) [7]

Лови на мыло
компонент Mixer/



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

Форум: "WinAPI";
Текущий архив: 2002.03.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.006 c
1-19234
kaif
2002-02-17 17:55
2002.03.07
Как спастись от авторазмера MDIChildren?


7-19364
Pantero
2001-11-30 21:16
2002.03.07
Как загрузить Dll файлы когда загружается Виндовс ?


6-19278
End
2001-12-19 22:47
2002.03.07
Help!!!


6-19285
sumy_vlad
2001-12-21 11:03
2002.03.07
Help


14-19299
vladislav
2002-01-20 18:22
2002.03.07
Инсталляция Delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский