Форум Beholder http://beholder.ru/bb/ | |
Переключится на Радио и обратно на ТВ...... http://beholder.ru/bb/viewtopic.php?f=10&t=13869 |
Страница 1 из 1 |
Автор: | sorokinmv [ 19 сен 2013, 21:39 ] |
Заголовок сообщения: | Переключится на Радио и обратно на ТВ...... |
Прошу помощи!!! Уже несколько дней пытаюсь перевести тюнер с режима ТВ на ФМ и обратно. Использую DsPack Код: Var Tuner: IAMTvTuner; PropertySet : IKSPropertySet; //...................... H:=Tuner.QueryInterface(IID_IKSPropertySet,PropertySet); Tuner.GetAvailableModes(tmode); //Tuner.get_Mode(tm); Tuner.put_Mode(AMTUNER_MODE_FM_RADIO); //...................... Режим на устройстве меняется но вещания нету..... Предполагая что можно использовать(адаптировать) пример из этого раздела, но к сожалению не знаю какой режим (ID) надо выбрать Код: // {E73F292A-5AF3-47c7-BB55-2C474B992296} static const GUID KSPROPSETID_ANALOG_TUNER_API = { 0xe73f292a, 0x5af3, 0x47c7, { 0xbb, 0x55, 0x2c, 0x47, 0x4b, 0x99, 0x22, 0x96 } }; ////////////////////////////////////////////////////////////////////////////// typedef enum { // ......... KSPROPERTY_ID_TUNER_SCAN_MODE = 6, // ......... } KSPROPERTY_ADVANCED_TUNER_ID; ////////////////////////////////////////////////////////////////////////////// m_pVidCapture->QueryInterface( IID_IKsPropertySet, (void**) &m_pKsPropertySet ); // m_pVidCapture - pointer to IBaseFilter interface of analog video capture device ////////////////////////////////////////////////////////////////////////////// HRESULT put_AnlgTunerAdvanced( LONG lId, LONG lValue ) { if ( !m_pKsPropertySet ) { return E_POINTER; } HRESULT hr = m_pKsPropertySet->Set( KSPROPSETID_ANALOG_TUNER_API, (DWORD)lId, NULL, 0, &lValue, sizeof( lValue ) ); return hr; } Прошу помощи разработчиков. |
Автор: | sorokinmv [ 24 сен 2013, 15:20 ] |
Заголовок сообщения: | Re: Переключится на Радио и обратно на ТВ...... |
Очень надо, прошу хоть какой-то совет..... Или может кто то даст ссылку на пример работы с радио через DirectShow... (Те что нашел на CodeProject с тюнером не подружились) |
Автор: | BTVSoft [ 25 сен 2013, 16:16 ] |
Заголовок сообщения: | Re: Переключится на Радио и обратно на ТВ...... |
sorokinmv Через WDM вызовы все должно нормально работать. Нужно 1) переключить тюнер в режим FM через KSPROPERTY_TUNER_STANDARD 2) переключить вход через KSPROPERTY_TUNER_INPUT (если есть DUAI на данном тюнере) 3) сменить частоту через KSPROPERTY_TUNER_FREQUENCY. Для прямой работы с WDM вызовами через IKSPropertySet требуются две функции (или определения, если C++) INSTANCE_DATA_OF_PROPERTY_PTR INSTANCE_DATA_OF_PROPERTY_SIZE Их нетрудно нагуглить. Смысл их - передача/получение дополнительной структуры. KSPROPSETID_ANALOG_TUNER_API - это наша надстройка над WDM, для более удобной работы и использования различных функций железа. Можно использовать оба варианта, само ПО BeholdTV работает чисто через надстройки, поэтому не имеет проблем с медленным управлением и массовыми ограничениями от MS. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |