Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Громкость [D2, D6, WinXP]


arcoant ©   (2002-08-29 15:13:00) 

Добрый |день, ночь, утро, вечер|(подчеркнуть правильное). Кто-нибудь знает как программно изменять громкость проигрывания звукового(видео) файла?


Viktor Kushnir   (2002-08-31 08:46:00) [1]

Когда мне надо было менять звук, я делал так:
Только вот хотя звук и меняется, что-то вэ том коде не так,
у меня WaveOutGetVolume(WaveDevice,@w) не всегда срабатывал.




uses mmsystem;
procedure TMainForm.SetVolume(Volume: Word);
Var
W, c ,V :Cardinal;
hw :word;
lw :Word;
m :integer;
prop :Real;
begin
c := mmSystem.WaveOutGetVolume(WaveDevice,@w);
Case c of
// MMSYSERR_NOERROR: DisplayMessage("Sound OK",5);
MMSYSERR_INVALHANDLE: ShowMessage("Sound: Invalide Handle",5);
MMSYSERR_NODRIVER: ShowMessage("Sound: No Driver",5);
MMSYSERR_NOMEM: ShowMessage("Sound: No Memory",5);
MMSYSERR_NOTSUPPORTED: ShowMessage("Sound: Not Supported",5);
End;
hw := HiWord(w);
lw := LoWord(w);
Prop := hw/(lw+1);
m := (Volume - Max(hw,lw));
lw := lw + m;
hw := Round((lw+1)*prop);
v := MakeLong(lw,hw);
mmSystem.waveOutSetVolume(WaveDevice,V);
end;


arcoant   (2002-08-29 20:08:00) [2]

people! Where are you?


Наверх

Титульная страница Поиск, карта сайта Написать письмо