![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Звук [D7, Win95/98, WinXP]
Jaja © (2004-05-01 01:37:00)Привет народ! Мне надо получить список аудио устройст. А так же получить список регуляторов громкости и как их изменять(короче! Наподобии Windowсовского регулятора громкости! Заранее Спасибо!!!
Ozone (2004-05-08 12:19:00) [1]На сайте АП есть много инфы на эту тему.
*BES* (2004-05-07 22:10:00) [2]Вопрос что ты хочешь сделать!!!
Медиаплеер для нескольких девайсов с регулировкой??
Тогда тебе надо Bass и TBassplayer
Надо исходник??? Пиши на Мыло!
konstantinov (2004-05-02 19:13:00) [3]Модуль mmSystem
список устройств : mixerGetNumDeavs, mixerGetDeavCaps...
регулятор громкости : mixerSetControlDetals...
рабочий пример на Си :
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;