Udostępnij przez


Aby użyć ręcznego wyboru strumienia

[Funkcja skojarzona z tą stroną, windows Media Format 11 SDK, jest starszą funkcją. Został zastąpiony przez Odczytujący Źródło i Zapisujący Ujście. Czytnik źródeł i zapis ujścia zostały zoptymalizowane pod kątem systemów Windows 10 i Windows 11. Firma Microsoft zdecydowanie zaleca, aby nowy kod używał Source Reader i Sink Writer zamiast Windows Media Format 11 SDK, jeśli jest 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.]

W przypadku dostarczania nieskompresowanych przykładów z obiektem czytelnika można dostarczyć je tylko według numeru wyjściowego. W przypadku wzajemnie wykluczających się strumieni oznacza to, że można odbierać próbki tylko z jednego strumienia jednocześnie. Proces wybierania wzajemnie wykluczającego się strumienia do dostarczenia jest nazywany wyborem strumienia.

W przypadku wzajemnego wykluczania szybkości transmisji bitów czytnik automatycznie dokonuje wyboru strumienia na podstawie warunków na maszynie hosta podczas odtwarzania. W przypadku innych typów wzajemnego wykluczenia czytelnik dostarczy przykłady z domyślnego strumienia, chyba że ręcznie wybierzesz inny strumień samodzielnie. Mogą również wystąpić sytuacje, gdy chcesz ręcznie wybrać strumień z wzajemnego wykluczania się szybkości bitów.

Ręczny wybór strumienia jest włączony lub wyłączony dla całego pliku. Jeśli plik zawiera wzajemne wykluczanie prędkości transmisji oraz inny typ wzajemnego wykluczania, należy ręcznie wybrać strumienie bazujące na prędkości transmisji.

Aby ręcznie wybrać wzajemnie wykluczające się strumienie, należy wykonać następujące kroki.

  1. Pobierz wskaźnik do interfejsu IWMReaderAdvanced obiektu czytnika, wywołując IWMReader::QueryInterface.
  2. Włącz ręczne wybieranie strumienia, wywołując IWMReaderAdvanced::SetManualStreamSelection.
  3. Aby dowiedzieć się, czy wybrano konkretny strumień, wywołaj metodę IWMReaderAdvanced::GetStreamSelected. Należy przekazać wskaźnik do zmiennej typu wyliczenia WMT_STREAM_SELECTION. Po zakończeniu wywołania wartość zmiennej będzie opisywać aktualny typ wyboru strumienia.
  4. Aby wybrać strumień, wywołaj metodę IWMReaderAdvanced::SetStreamsSelected. Ta metoda umożliwia określenie wielu strumieni jednocześnie na potrzeby synchronizowanego przełączania strumieni.

odczytywanie plików za pomocą asynchronicznego czytnika