Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
[Funkcja skojarzona z tą stroną, DirectShow, jest starszą funkcją. Został zastąpiony przez MediaPlayer, IMFMediaEnginei Audio/Video Capture w Media Foundation. Te funkcje zostały zoptymalizowane pod kątem systemów Windows 10 i Windows 11. Firma Microsoft zdecydowanie zaleca, aby nowy kod używał MediaPlayer, IMFMediaEngine i Audio/Video Capture w programie Media Foundation zamiast DirectShow, jeśli to możliwe. Firma Microsoft sugeruje, że istniejący kod, który używa starszych interfejsów API, należy przepisać go do korzystania z nowych interfejsów API, jeśli to możliwe.]
Maszyna wirtualna może renderować wiele strumieni wejściowych. W tej konfiguracji, nazywanej trybem mieszania, maszyna wirtualna ładuje mikser i kompositor do wykonywania mieszania i mieszania przed renderowaniem. Tryb mieszany może być używany, gdy maszyna wirtualna jest w trybie okna lub w trybie bez okien.
Tryb mieszania wymaga, aby sterownik graficzny obsługiwał flagi DDCAPS_BLTFOURCC i DDCAPS_BLTSTRETCH możliwości (konwersja przestrzeni kolorów i rozciągnięcie, odpowiednio). Prawie wszystkie nowe sterowniki graficzne mają te możliwości. Ponadto sterownik musi obsługiwać tworzenie obiektów docelowych renderowania Direct3D dla bieżącej głębokości pikseli wyświetlania. Niektóre urządzenia nie obsługują operacji Direct3D, gdy ekran jest ustawiony na 24 bity na piksel. Aby uzyskać więcej informacji, zobacz dokumentację zestawu SDK grafiki DirectX.
Nuta
Gdy maszyna wirtualna maszyny wirtualnej miesza wiele strumieni wideo, wykres filtru nie będzie wyszukiwany poprawnie. Jeśli chcesz wyszukać wiele strumieni wideo, musisz utworzyć oddzielne wykresy filtrów, które współużytkują ten sam obiekt alokatora-prezentera niestandardowego.
Konfigurowanie maszyny wirtualnej VMR-7 dla wielu strumieni
Aby renderować wiele strumieni wejściowych za pomocą maszyny wirtualnej VMR-7, wykonaj następujące czynności:
- Przed nawiązaniem połączenia z dowolnymi wyprowadzeniami wejściowymi maszyny wirtualnej wywołaj metodę IVMRFilterConfig::SetNumberOfStreams metodę z liczbą strumieni. Powoduje to załadowanie miksera i komponatora przez maszynę wirtualną oraz utworzenie określonej liczby wyprowadzeń wejściowych.
- Wywołaj IVMRFilterConfig::SetRenderingPrefs, aby określić różne preferencje renderowania.
- Połącz pinezki z filtrami nadrzędnymi. Najprostszym sposobem jest wywołanie IGraphBuilder::RenderFile dla każdego strumienia wejściowego. Jeśli wyprowadzenia wyjściowego filtru nadrzędnego (zazwyczaj dekodera) i numeru PIN wejściowego maszyny wirtualnej nie można uzgodnić połączenia, zostanie utworzone nowe wystąpienie maszyny wirtualnej z ustawieniami domyślnymi. Spowoduje to wyświetlenie nowego okna z napisem "ActiveFilm" na pasku tytułu. Aby temu zapobiec, aplikacja powinna zawsze sprawdzić, czy używane jest prawidłowe wystąpienie maszyny wirtualnej przez wywołanie metody, takiej jak IPin::ConnectedTo. Inną opcją jest dodanie filtru źródłowego, a następnie połączenie numerów PIN przy użyciu IGraphBuilder::Connect.
- Użyj interfejsu IVMRMixerControl na maszynie wirtualnej, aby kontrolować parametry dla każdego strumienia, takie jak wartość alfa, kolejność Z i prostokąt wyjściowy.
- Uruchom wykres filtru.
Konfigurowanie maszyny wirtualnej VMR-9 dla wielu strumieni
Domyślnie maszyna VMR-9 tworzy cztery wyprowadzenia wejściowe. Jeśli chcesz mieszać więcej niż cztery strumienie wideo, przed nawiązaniem połączenia z dowolnymi wyprowadzeniami wejściowymi wywołaj metodę IVMRFilterConfig9::SetNumberOfStreams. Użyj interfejsu IVMRMixerControl9, aby ustawić parametry strumienia, takie jak alfa, kolejność Z i położenie.
Tematy pokrewne