Текущее время: 28 мар 2024, 11:21 • Часовой пояс: UTC + 3 часа
Сообщения без ответов | Активные темы

Переключится на Радио и обратно на ТВ......

Начать новую темуОтветить на тему Страница 1 из 1 [ Сообщений: 3 ]
Версия для печати Пред. тема | След. тема
АвторСообщение
Сообщение Добавлено: 19 сен 2013, 21:39. Заголовок сообщения:  Переключится на Радио и обратно на ТВ......
Зарегистрирован:
    19 сен 2013, 21:21
Сообщения: 2
Прошу помощи!!! Уже несколько дней пытаюсь перевести тюнер с режима ТВ на ФМ и обратно. Использую 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;
}


Прошу помощи разработчиков.
Профиль 
Сообщение Добавлено: 24 сен 2013, 15:20. Заголовок сообщения:  Re: Переключится на Радио и обратно на ТВ......
Зарегистрирован:
    19 сен 2013, 21:21
Сообщения: 2
Очень надо, прошу хоть какой-то совет.....
Или может кто то даст ссылку на пример работы с радио через DirectShow... (Те что нашел на CodeProject с тюнером не подружились)
Профиль 
Сообщение Добавлено: 25 сен 2013, 16:16. Заголовок сообщения:  Re: Переключится на Радио и обратно на ТВ......
Beholder
Аватара пользователя
Зарегистрирован:
    19 авг 2004, 11:47
Сообщения: 190
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  [ Сообщений: 3 ]  
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения
Найти:  
Перейти: