Sdílet prostřednictvím


Informace o parametrech

[Funkce přidružená k této stránce DirectShow je starší funkce. Byla nahrazena MediaPlayer, MMFMediaEnginea Audio/Video Capture v Media Foundation. Tyto funkce jsou optimalizované pro Windows 10 a Windows 11. Microsoft důrazně doporučuje, aby nový kód používal MediaPlayer, MMFMediaEngine a Audio/Video Capture v Media Foundation místo DirectShow, pokud je to možné. Microsoft navrhuje, aby se stávající kód, který používá starší rozhraní API, přepsal, aby se nová rozhraní API používala, pokud je to možné.]

Metoda IMediaParamInfo::GetParamInfo vrátí MP_PARAMINFO strukturu, která popisuje parametr. Tato struktura obsahuje následující informace:

  • mpType člen označuje datový typ hodnoty parametru. Z hlediska efektivity jsou všechny parametry implementovány jako 32bitové hodnoty s plovoucí desetinou čárkou. Výčet MP_TYPE definuje, zda se má hodnota interpretovat jako celé číslo, hodnota s plovoucí desetinou čárkou, logická hodnota nebo výčet (celá řada).
  • mopCaps člen označuje, které křivky tento parametr podporuje. Pokud je datový typ logická hodnota nebo výčet, jedinou křivkou, kterou parametr podporuje, je "Jump".
  • Členy mpdMinValue a mpdMaxValue definují minimální a maximální hodnoty pro tento parametr. Všechny křivky pro tento parametr musí spadat do tohoto rozsahu.
  • mpdNeutralValue člen je výchozí hodnota parametru.
  • szLabel člen je název parametru a szUnitText člen je název měrné jednotky parametru. Příklady můžou zahrnovat "Svazek" a "Decibels", nebo "Frekvence" a "kHz". Oba řetězce jsou anglické a nikdy nejsou lokalizovány. DMO může poskytovat lokalizované verze prostřednictvím IMediaParamInfo::GetParamText metoda.

Informace pro každý parametr zůstávají pevné po celou dobu životnosti objektu DMO. Klient se proto může dotazovat na tyto informace jednou a pak je uložit do mezipaměti.

formáty času

Klient musí časové razítko vstupních dat, aby objekt DMO mohl vypočítat odpovídající hodnoty parametrů. Ve výchozím nastavení časové razítka představují jednotky 100 nanosekund, označované také jako referenční čas. Tato časová jednotka ale není vhodná pro každou aplikaci, takže DMO má možnost podporovat jiné formáty času. Formáty času jsou identifikovány identifikátorem GUID.

guid Popis
GUID_TIME_REFERENCE Referenční čas
GUID_TIME_MUSIC Poznámky k částem za čtvrtletí (PPQN)
GUID_TIME_SAMPLES Vzorky za sekundu

 

Doporučujeme, aby třetí strany podle potřeby definovaly vlastní formáty času. Všechny dmos ale musí podporovat referenční dobu. To poskytuje standardní směrný plán, který můžou používat všichni. Chcete-li zjistit, kolik času formátuje DMO, zavolejte IMediaParamInfo::GetNumTimeFormats metoda. Chcete-li vytvořit výčet podporovaných formátů, zavolejte IMediaParamInfo::GetSupportedTimeFormat metoda.

Chcete-li nastavit formát času, volání IMediaParams::SetTimeFormat. Tato metoda určuje identifikátor GUID formátu času a časová data, což je počet jednotek podle hodin. Pokud je například formát času vzorky za sekundu a časová data jsou 32, pak hodnota časového razítka 10 odpovídá 320 vzorkům.

parametry média