Прошу помощи!!! Уже несколько дней пытаюсь перевести тюнер с режима ТВ на ФМ и обратно. Использую 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;
}
Прошу помощи разработчиков.