VMR-modus met venster (compatibiliteit)
[De functie die is gekoppeld aan deze pagina, DirectShow, is een verouderde functie. Het is vervangen door MediaPlayer, IMFMediaEngineen Audio/Video Capture in Media Foundation. Deze functies zijn geoptimaliseerd voor Windows 10 en Windows 11. Microsoft raadt ten zeerste aan om nieuwe code te gebruiken MediaPlayer, IMFMediaEngine en Audio/Video Capture in Media Foundation in plaats van DirectShow, indien mogelijk. Microsoft stelt voor dat bestaande code die gebruikmaakt van de verouderde API's, indien mogelijk opnieuw worden geschreven om de nieuwe API's te gebruiken.]
De VMR is ontworpen om compatibel te zijn met alle bestaande DirectShow-toepassingen. Wanneer deze wordt gebruikt met een bestaande toepassing, werkt de VMR in de venstermodus met één videostream, ook wel compatibiliteitsmodus genoemd. Deze modus wordt geleverd omdat de VMR-7 de standaard renderer is in Windows XP en daarom automatisch wordt gebruikt in aanroepen naar Intelligent Connect methoden zoals IGraphBuilder::RenderFile. Als uw toepassing Intelligent Connect gebruikt en alleen basisweergavemogelijkheden vereist, hebt u geen speciale code nodig om correct te worden weergegeven met de VMR-7 op Windows XP.
De VMR-9 wordt standaard ook uitgevoerd in de venster-/compatibiliteitsmodus. De VMR-9 is echter nooit de standaardvideoweergave. Als u de VMR-9 in een toepassing wilt gebruiken, moet u deze expliciet toevoegen aan de filtergrafiek. Om die reden en omdat de vensterloze modus betere functionaliteit biedt dan de venstermodus, is er geen bijzonder voordeel bij het gebruik van de VMR-9 in de venster-/compatibiliteitsmodus.
de VMR-7 gebruiken in de venstermodus/compatibiliteitsmodus
Er is geen speciale programmering vereist voor het instellen of beheren van de VMR-7 in de venster-/compatibiliteitsmodus. Bouw gewoon de filtergrafiek met behulp van de standaardoproepen voor grafiekbouw en de VMR-7 wordt standaard ingesteld op deze modus.
In de venster-/compatibiliteitsmodus maakt de VMR-7 een eigen venster om de video weer te geven. Hiervoor wordt het Windows Manager-onderdeel geladen, waarmee de interfaces IVideoWindow en IBasicVideo worden weergegeven. Uw toepassing kan query's uitvoeren op Filter Graph Manager voor deze interfaces, precies zoals u zou doen met het oude filter Video Renderer. Zie Venstermodus gebruikenvoor meer informatie.
In de volgende afbeelding ziet u de VMR-7 in de venster-/compatibiliteitsmodus.
Om het maximale compatibiliteitsniveau te garanderen, heeft het videovenster dezelfde klassenaam als de klasse die is gemaakt door het oude filter Video Renderer en wordt de meeste Window Manager-code van de oude Video Renderer nog steeds gebruikt door de VMR. In de venster-/compatibiliteitsmodus verbruikt de VMR geen systeemresources meer dan de oude Video Renderer. Omdat de VMR-7 slechts één invoerstroom in de venster-/compatibiliteitsmodus heeft, worden de mixer- of compositor-onderdelen niet geladen.
De VMR strekt de installatiekopieën standaard uit om het videovenster te vullen. Als u de hoogte-breedteverhouding van de bron wilt behouden, roept u de IVMRAspectRatioControl::SetAspectRatioMode methode aan met de vlag VMR_ARMODE_LETTER_BOX.
Notitie
MFC-toepassingen die het videovenster in een onderliggend venster plaatsen, moeten een lege WM_ERASEBKGND berichthandler definiëren, anders wordt het videoweergavegebied niet correct opnieuw geschilderd.
de VMR-7 gebruiken in de venster-/compatibiliteitsmodus met meerdere streams
In de venster-/compatibiliteitsmodus maakt de VMR-7 standaard één invoerpin en schakelt de mengmodus uit. Als u de mengmodus wilt inschakelen, moet u de VMR configureren voordat u deze verbindt. Zie VMR met meerdere stromen (mengmodus)voor meer informatie. In de mengmodus laadt de VMR de meng- en compositoronderdelen, waarvoor meer systeembronnen nodig zijn.
de VMR-9 gebruiken in de venstermodus
Omdat de VMR-9 niet de standaard renderer is, heeft deze geen compatibiliteitsmodus als zodanig. In plaats daarvan wordt de VMR-9 standaard ingesteld op de venstermodus met vier invoerpinnen. U kunt deze modus gebruiken om maximaal vier videostreams te combineren. Als u een groter aantal streams moet combineren, moet u deze configureren zoals beschreven in VMR met meerdere stromen (mengmodus). Anders gedraagt de VMR-9 in de venstermodus zich precies zoals de VMR-7 in de venster-/compatibiliteitsmodus.