Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.01.20;
Скачать: CL | DM;

Вниз

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

 
Radgar ©   (2007-03-01 22:03) [0]

Здраствуйте.

Подскажите, пожалуйста, как изменить громкость воспроизводимого звука. Заранее Спасибо.


 
DevilDevil ©   (2007-03-02 01:11) [1]

через что производишь звук: MCI, DSound, DMusic, DShow, TMediaPlayer?


 
Radgar ©   (2007-03-02 01:35) [2]

2 DevilDevil ©

TMediaPlayer


 
DevilDevil ©   (2007-03-02 01:43) [3]

значит MCI :)
если получится взять WaveHandle (в чём я сомневаюсь), тогда waveOutGetVolume(), waveOutSetVolume()

Иначе менять микшерные настройки. Привожу Сишный код (сам не разбирался):

INT GetMasterVolumeControlID()
{
 // get dwLineID
 MIXERLINE mxl;
 mxl.cbStruct = sizeof(MIXERLINE);
 mxl.dwComponentType = MIXERLINE_COMPONENTTYPE_DST_SPEAKERS;
 if (::mixerGetLineInfo((HMIXEROBJ)ghmx, &mxl,
   MIXER_OBJECTF_HMIXER | MIXER_GETLINEINFOF_COMPONENTTYPE)
   != MMSYSERR_NOERROR)
   return 34;
 // get dwControlID
 MIXERCONTROL mxc;
 MIXERLINECONTROLS mxlc;
 mxlc.cbStruct = sizeof(MIXERLINECONTROLS);
 mxlc.dwLineID = mxl.dwLineID;
 mxlc.dwControlType = MIXERCONTROL_CONTROLTYPE_VOLUME;
 mxlc.cControls = 1;
 mxlc.cbmxctrl = sizeof(MIXERCONTROL);
 mxlc.pamxctrl = &mxc;
 if (::mixerGetLineControls((HMIXEROBJ)ghmx, &mxlc,
   MIXER_OBJECTF_HMIXER | MIXER_GETLINECONTROLSF_ONEBYTYPE)
   != MMSYSERR_NOERROR)
   return 34;
 return mxc.dwControlID;
}

BOOL SetMasterVolume(DWORD dwVolume)
{
  MIXERCONTROLDETAILS mxcd;
  MIXERCONTROLDETAILS_UNSIGNED mxcd_u;
  mxcd.cbStruct = sizeof(mxcd);
  mxcd.dwControlID = MasterVolumeControlID;
  mxcd.cChannels = 1;
  mxcd.cMultipleItems = 0;
  mxcd.cbDetails = 4;
  mxcd.paDetails = &mxcd_u;
  mmr = mixerGetControlDetails((HMIXEROBJ)ghmx, &mxcd, 0L);
  if (MMSYSERR_NOERROR != mmr) return FALSE;
  mxcd_u.dwValue = dwVolume;
  mmr = mixerSetControlDetails((HMIXEROBJ)ghmx, &mxcd, 0L);
  if (MMSYSERR_NOERROR != mmr) return FALSE;
  return TRUE;
}



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

Текущий архив: 2008.01.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
6-1178938053
mm0
2007-05-12 06:47
2008.01.20
Как узнать все ли данные получены? (Indy)


15-1197795244
Kostafey
2007-12-16 11:54
2008.01.20
С днем рождения ! 16 декабря


15-1196834343
vajo
2007-12-05 08:59
2008.01.20
Можно как-то вычислить, кто в сети сообщения аськи прослушивает?


15-1197556569
Petr V. Abramov
2007-12-13 17:36
2008.01.20
Коннект к MSSQL-2000


4-1182414612
BillyJeans
2007-06-21 12:30
2008.01.20
Передача параметра в Thread