Udostępnij przez


Odczytywanie plików za pomocą czytnika asynchronicznego

[Funkcja skojarzona z tą stroną, windows Media Format 11 SDK, jest starszą funkcją. Został zastąpiony przez Czytnik źródłowy i Pisarz ujścia . Czytnik Źródła i Pisarz 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.]

Czytnik asynchroniczny odczytuje zawartość z plików ASF przy użyciu wielu wątków i wywołań asynchronicznych. Funkcje obsługiwane przez czytnik asynchroniczny doskonale nadają się do obsługi aplikacji renderujących zawartość użytkownikom końcowym.

Najbardziej podstawowe funkcje obiektu czytelnika można podzielić na następujące kroki. W tych krokach "aplikacja" odnosi się do programu, który piszesz przy użyciu zestawu WINDOWS Media Format SDK.

  1. Aplikacja implementuje interfejs IWMReaderCallback do obsługi komunikatów z czytnika. Obejmuje to dwie metody wywołania zwrotnego: OnStatus, która odbiera komunikaty dotyczące stanu różnych aspektów czytnika, oraz OnSample, która odbiera nieskompresowane próbki od czytnika.
  2. Aplikacja przekazuje do czytnika nazwę pliku do odczytania. Gdy czytelnik otworzy plik, przypisuje mu numer wyjściowy do każdego strumienia. Jeśli plik używa wzajemnego wykluczenia, czytelnik przypisuje pojedyncze dane wyjściowe dla wszystkich wzajemnie wykluczających się strumieni.
  3. Aplikacja pobiera informacje o konfiguracji różnych danych wyjściowych z czytnika. Zebrane informacje umożliwią aplikacji prawidłowe renderowanie przykładów multimediów.
  4. Aplikacja nakazuje czytelnikowi rozpoczęcie odczytywania danych z pliku. Czytelnik rozpoczyna dostarczanie nieskompresowanych próbek do OnSample wywołania zwrotnego, pojedynczo w buforach owiniętych w obiekty buforu. Przykłady dostarczone przez czytelnika są w kolejności czasu prezentacji. Odczytywacz będzie nadal dostarczać próbki do momentu zatrzymania przez aplikację lub do momentu dotarcia do końca pliku.
  5. Aplikacja jest odpowiedzialna za renderowanie danych po ich dostarczeniu przez czytelnika. Zestaw WINDOWS Media Format SDK nie udostępnia żadnych procedur renderowania. Zazwyczaj aplikacje będą używać innych zestawów SDK do renderowania danych, takich jak zestaw SDK microsoft DirectX®, lub funkcji multimedialnych zestawu MICROSOFT Windows Platform SDK.
  6. Po zakończeniu odczytu aplikacja nakazuje czytelnikowi zamknięcie pliku.

Te kroki przedstawiono między innymi w przykładowej aplikacji AudioPlayer. Aby uzyskać więcej informacji, zobacz Sample Applications.

Czytelnik obsługuje również bardziej zaawansowane funkcje. Czytnik umożliwia wykonanie następujących czynności:

  • Wstrzymywanie odtwarzania pliku.
  • Pobierz statystyki wydajności czytnika.
  • Kontroluj wybór wzajemnie wykluczających się strumieni.
  • Ręcznie przydzielaj bufory dla danych wyjściowych.
  • Podaj własny zegar.
  • Pobieranie stanu operacji na plikach (buforowanie, pobieranie lub zapisywanie).
  • Otwórz plik przy użyciu standardowego interfejsu COM, IStream.
  • Poszukaj określonych punktów w pliku ASF.
  • Odczytywanie danych profilu z nagłówka pliku.

W poniższych sekcjach opisano szczegółowo użycie obiektu czytelnika.

odczytywanie plików ASF

obiekt czytnika