обратился на форум gotview к тех. поддержке, там мне сказали следующее:
Вам надо тюнер переключить в фм режим.
Теперь поищите по ключевому слову: KSPROPERTY_TUNER_MODE
неужто никто не знает как это сделать!? ((((
добавлено спустя 15 часов 1 Минута
function TfrmMain.SetFreq(pTuner: IAMTvTuner; Value: Int64): HRESULT;
var
PropertySet : IKSPropertySet;
fFreq : KSPROPERTY_TUNER_FREQUENCY_S;
fModeCaps : KSPROPERTY_TUNER_MODE_CAPS_S;
fMode : KSPROPERTY_TUNER_MODE_S;
hr : HRESULT;
dwSupported, cbBytes: DWord;
begin
if SUCCEEDED(pTuner.QueryInterface(IID_IKSPropertySet, PropertySet)) then
begin
dwSupported:= 0;
ZeroMemory(@fModeCaps, sizeof(fModeCaps));
ZeroMemory(@fFreq, sizeof(fFreq));
ZeroMemory(@fMode, sizeof(fMode));
fMode.Mode:=KSPROPERTY_TUNER_MODE_FM_RADIO;
fMode.Property_.Set_:=PROPSETID_TUNER;
fMode.Property_.Id:=Cardinal(KSPROPERTY_TUNER_MODE);
fMode.Property_.Flags:=KSPROPERTY_TYPE_SET;
hr:=PropertySet.Set_(PROPSETID_TUNER,
Cardinal(KSPROPERTY_TUNER_MODE),
PKSPROPERTY(@fMode),
SizeOf(fMode) - SizeOf(PKSPROPERTY),
@fMode,
SizeOf(fMode));
if SUCCEEDED(hr) then
begin
fFreq.Property_.Set_:=PROPSETID_TUNER;
fFreq.Property_.Id:=Cardinal(KSPROPERTY_TUNER_FREQUENCY);
fFreq.Property_.Flags:=KSPROPERTY_TYPE_SET;
fFreq.Country:=7;
fFreq.Frequency:= Value;
hr:= PropertySet.Set_(PROPSETID_TUNER,
Cardinal(KSPROPERTY_TUNER_FREQUENCY),
PKSPROPERTY(@fFreq),
SizeOf(fFreq) - SizeOf(PKSPROPERTY),
@fFreq,
SizeOf(fFreq));
if SUCCEEDED(hr) then
result:= S_OK
else
result:= E_FAIL;
end
else
result:= E_FAIL;
end;
end;
этой функцией задаю режим
KSPROPERTY_TUNER_MODE_FM_RADIO и задаю частоту, но все-равно вместо звука идёт шипение...
что не так?!