Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
[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é.]
Pokud chcete vytvořit graf náhledu videa, zavolejte metodu ICaptureGraphBuilder2::RenderStream následujícím způsobem:
ICaptureGraphBuilder2 *pBuild; // Capture Graph Builder
// Initialize pBuild (not shown).
IBaseFilter *pCap; // Video capture filter.
/* Initialize pCap and add it to the filter graph (not shown). */
hr = pBuild->RenderStream(&PIN_CATEGORY_PREVIEW, &MEDIATYPE_Video,
pCap, NULL, NULL);
Tento příklad předpokládá následující:
- pBuild byl inicializován, jak je popsáno v O Capture Graph Builder.
- pCap bylo inicializováno vytvořením instance filtru pro zachytávání a jeho přidáním do grafu filtrů, jak je popsáno v Výběru zařízení pro zachytávání.
První parametr metody ICaptureGraphBuilder2::RenderStream určuje kategorii pinu; pro náhledový graf použijte PIN_CATEGORY_PREVIEW. Druhý parametr určuje typ média jako GUID hlavního typu. Pro video použijte MEDIATYPE_Video. DV zařízení poskytují prokládaný zvuk a video, pro něž je typ média MEDIATYPE_Interleaved. (Další informace o záznamu DV naleznete v tématu Digitální video v directShow.)
Třetí parametr je ukazatel na rozhraní filtru zachycení IBaseFilter. Následující dva parametry nejsou v tomto příkladu potřeba. Slouží k zadání dalších filtrů, které můžou být potřeba k vykreslení datového proudu. Nastavení posledního parametru na NULL způsobí, že Tvůrce grafu capture vybere výchozí renderer pro datový proud na základě typu média. V případě videa tvůrce grafu zachycení vždy používá filtr Video Renderer jako výchozí renderer.
Poznámka
V systému Windows XP a novějších je sice Video Mixing Renderer (VMR) výchozím renderem videa pro IGraphBuilder metody, ale není výchozím renderem pro metodu RenderStream. Na libovolné platformě Tvůrce grafů pro zachytávání vždy používá starý filtr vykreslovače videa, pokud to nespecifikujete jinak.
I když je kategorie pinu uvedena jako PIN_CATEGORY_PREVIEW, nezáleží na tom, zda filtr skutečně obsahuje pin náhledu; může mít pin video portu nebo pouze pin záznamu. V obou případech Tvůrce grafu zachytávání automaticky sestaví správný graf.
Následující diagram znázorňuje nejjednodušší možný graf pro zobrazení náhledu videa.
V tomto diagramu má filtr zachycení náhledový kolík, který se připojuje přímo k videorendereru.
Pokud má filtr zachycení jenom zachycovací pin, tvůrce grafu zachycení vloží filtr Smart Tee, který rozdělí datový proud do streamu zachycení a streamu pro ukázku. Toto je podrobněji popsáno v Kombinování záznamu videa a náhledu.
V některých případech musí stream videa procházet filtrem Překryvného mixéru. Pokud ano, RenderStream metoda přidá do grafu automaticky.
Související témata