Udostępnij przez


Czytelnik źródła

Czytnik źródła jest alternatywą dla używania sesji multimediów i potoku programu Microsoft Media Foundation do przetwarzania danych multimedialnych.

Dlaczego warto używać czytnika źródła?

Program Media Foundation udostępnia potok zoptymalizowany pod kątem odtwarzania. Potok jest kompleksowa, co oznacza, że obsługuje przepływ danych ze źródła (np. pliku wideo) aż do miejsca docelowego (np. wyświetlacz grafiki). Jeśli jednak chcesz odczytywać lub modyfikować dane w miarę przechodzenia przez potok, musisz napisać niestandardową wtyczkę. Wymaga to dość głębokiej wiedzy na temat potoku Media Foundation. W przypadku niektórych zadań tworzenie nowej wtyczki jest zbyt duże. Czytnik źródłowy jest przeznaczony dla tego typu sytuacji, gdy chcesz uzyskać nieprzetworzone dane ze źródła bez narzutu całego potoku.

Wewnętrznie czytnik źródłowy przechowuje wskaźnik do źródła multimediów. źródła multimediów to obiekt programu Media Foundation, który generuje dane multimedialne ze źródła zewnętrznego, takiego jak plik multimedialny lub urządzenie do przechwytywania wideo. Czytnik źródła zarządza wszystkimi wywołaniami metody do źródła multimediów. (Aby uzyskać więcej informacji o źródłach multimediów, zobacz Media Sources.)

Jeśli źródło multimediów dostarcza skompresowane dane, możesz użyć czytnika źródłowego do dekodowania danych. W takim przypadku czytnik źródła załaduje prawidłowy dekoder i zarządza przepływem danych między źródłem nośnika a dekoderem. Czytnik źródłowy może również wykonać pewne ograniczone przetwarzanie wideo: konwersja kolorów z YUV na RGB-32 i usuwanie oprogramowania, chociaż te operacje nie są zalecane w przypadku renderowania wideo w czasie rzeczywistym. Na poniższej ilustracji przedstawiono ten proces.

diagram czytnika źródłowego

Czytnik źródła nie wysyła danych do miejsca docelowego; aplikacja musi korzystać z danych. Na przykład czytnik źródłowy może odczytać plik wideo, ale nie będzie renderowany na ekranie. Ponadto czytnik źródłowy nie zarządza zegarem prezentacji, nie obsługuje problemów z chronometrażem ani nie synchronizuje wideo z dźwiękiem.

Rozważ użycie czytnika źródłowego, gdy:

  • Chcesz pobrać dane z pliku multimedialnego bez obaw o podstawową strukturę plików.
  • Chcesz pobrać dane z urządzenia do przechwytywania dźwięku lub wideo.
  • Zadania przetwarzania danych nie są wrażliwe na czas lub nie wymagają zegara prezentacji.
  • Masz już potok multimediów, który nie jest oparty na programie Media Foundation i chcesz dołączyć źródła multimediów programu Media Foundation do własnego potoku.

Czytelnik źródłowy nie jest zalecany w następujących sytuacjach:

  • W przypadku chronionej zawartości. Czytnik źródłowy nie obsługuje zarządzania prawami cyfrowymi (DRM).
  • Jeśli zależy Ci na szczegółach podstawowej struktury plików. Czytnik źródła ukrywa ten typ szczegółów.

W tej sekcji

Temat Opis
używanie czytnika źródła do przetwarzania danych multimedialnych
W tym temacie opisano sposób przetwarzania danych multimedialnych przy użyciu czytnika źródła.
używanie czytnika źródła w trybie asynchronicznym
W tym temacie opisano sposób używania czytnika źródła w trybie asynchronicznym.
samouczek : dekodowanie audio
W tym samouczku pokazano, jak używać czytnika źródła do dekodowania dźwięku z pliku multimedialnego i zapisywania dźwięku w pliku WAVE.

 

architektura Media Foundation

przewodnik programowania Media Foundation

IMFSourceReader