Вниз
Скачать: CL | DM;

Регулятор громкости   Найти похожие ветки 

 
Ларри   (2002-08-28 09:42) [0]

Поможите!!!!! Как сделать сабж при помощи trakbar?


 
Ghost. ©   (2002-08-28 12:21) [1]

Вот, что я нашел..сам не пробовал...надобности небыло

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;
}

Переписывать на Delphi, думаю, ни к чему. Надо лишь не забыть добавить uses MMSystem; Громкость отдельных каналов очень просто устанавливается через auxSetVolume и аналогичные.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
3-35980
BorisUK
2002-11-26 14:00
2002.12.12
Свободное место в папке


6-36315
BarSuk2002
2002-10-18 10:11
2002.12.12
Как подстраховаться и закрыть возможные атаки по порту 23?


3-35982
Hiqwer
2002-11-20 19:43
2002.12.12
Oracle. Компоненты DOA. Где TimeOut?


3-35979
Тормоззз
2002-11-26 13:19
2002.12.12
Хочу сделать так - есть DataModule...


1-36174
Le!
2002-11-29 08:16
2002.12.12
Форма-Картинка!




   Наверх