![]() |
|
Модераторы: Rickert, Alexeis, BorisVorontsov |
![]()
|
|
| AndreySol |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 772 Регистрация: 19.6.2004 Репутация: нет Всего: 1 |
Почему не получается с некоторыми типами линий (а именно: MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY, MIXERLINE_COMPONENTTYPE_SRC_DIGITAL, MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER) а с остальными SRC_-линиями все нормально ? Что надо исправить или добавить ? |
|||
|
||||
| AndreySol |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 772 Регистрация: 19.6.2004 Репутация: нет Всего: 1 |
Уф, вроде разобрался. Следующий код работает нормально - выдает названия сначала всех линий воспроизведения, затем всех линий записи.
MMRESULT Result; HMIXER hMixer; MIXERLINE Line = {0}; MIXERCAPS mxCaps = {0}; CString strNameLine = ""; Line.cbStruct = sizeof(Line); Line.dwSource = 0; Result = mixerOpen(&hMixer, MIXER_OBJECTF_MIXER, DWORD(this->GetSafeHwnd()), NULL, CALLBACK_WINDOW); if(Result == MMSYSERR_NOERROR) { Result = mixerGetDevCaps((UINT_PTR)hMixer, &mxCaps, sizeof(mxCaps)); if(Result == MMSYSERR_NOERROR) { for(int iDest = 0; iDest <= (int)mxCaps.cDestinations - 1; iDest++) { unsigned long iConnections = 0; Line.dwDestination = iDest; Line.dwSource = 0; Result = mixerGetLineInfo(HMIXEROBJ(hMixer), &Line, MIXER_GETLINEINFOF_DESTINATION); if(Result == MMSYSERR_NOERROR) iConnections = Line.cConnections - 1; for(unsigned long i = 0; i <= iConnections; i++) { Line.dwSource = i; Result = mixerGetLineInfo(HMIXEROBJ(hMixer), &Line, MIXER_GETLINEINFOF_SOURCE); if(Result == MMSYSERR_NOERROR) { strNameLine = ""; strNameLine.Format("Dest %i, %s", iDest, Line.szName); MessageBox(strNameLine,"",0); } } } } mixerClose(hMixer); } Последний вопрос по этой теме: как выяснить соответствие доступных каналов необходимому, т.е. к примеру мне надо перечислить линии канала записи - как определить что канал с номером 1 именно канал записи ? На другом форуме мне написали
но слово "обычно" это не то что нужно, должен быть какой-то флаг или еще что ? |
|||
|
||||
![]()
|
| Вы можете найти полезным что... | |
|
|
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |