Udostępnij przez


Aby utworzyć czytnik i otworzyć plik

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

Zanim będzie można wykonać dowolną pracę z czytelnikiem, należy utworzyć obiekt czytnika i załadować plik do odczytu. Aby zainicjować czytnik i otworzyć plik, wykonaj następujące kroki.

  1. Utwórz obiekt czytelnika, wywołując funkcję WMCreateReader. Należy określić żądany poziom zarządzania uprawnieniami dla nowego obiektu Reader. Dostępne tryby są wymienione w typie wyliczania WMT_RIGHTS.
  2. Określ plik do odczytu, wywołując IWMReader::Otwórz. Musisz określić interfejs wywołania zwrotnego, którego czytnik ma używać. Aby uzyskać więcej informacji na temat procedury zwrotnej czytnika, zobacz Aby zaimplementować komunikaty czytnika w procedurze zwrotnej OnStatus.
  3. Poczekaj, aż czytelnik otworzy plik. Wywołanie Otwórz w celu załadowania pliku powoduje zwrócenie niemal natychmiast i kontynuowanie przetwarzania w innym wątku. Powinieneś poczekać na zakończenie operacji, sygnalizując zdarzenie, gdy wywołanie zwrotne OnStatus otrzyma komunikat stanu WMT_OPENED.

Czytnik obsługuje również używanie interfejsu IStream COM do otwierania plików. Możesz zaimplementować interfejs IStream w dowolny sposób. Po otwarciu żądanego pliku w IStreammożna wykonać kroki wymienione powyżej, z tą różnicą, że należy wywołać metodę IWMReaderAdvanced2::OpenStream zamiast IWMReader::Otwórz w kroku 2.

interfejs IWMReader

IWMReaderAdvanced2 Interface

Interfejs IWMStatusCallback

odczytywanie plików za pomocą asynchronicznego czytnika

używanie metod wywołania zwrotnego