Udostępnij przez


Przykład WavSource

Przedstawia sposób tworzenia niestandardowego źródła multimediów w programie Microsoft Media Foundation. Przykład implementuje źródło multimediów, które analizuje pliki audio .wav.

Ten przykład jest stosunkowo prostym przykładem źródła multimediów:

  • Istnieje tylko jeden strumień, więc nie ma kodu do zaimplementowania wyboru strumienia.
  • Źródło multimediów nie implementuje kontroli szybkości (czyli szybkiego odtwarzania do przodu lub odtwarzania odwrotnego).
  • Wszystkie metody źródła i strumienia są implementowane jako metody synchroniczne.
  • Ponieważ część danych pliku .wav jest pojedynczym blokiem nieskompresowanego dźwięku PCM, źródło multimediów nie musi odczytywać nagłówków pakietów ani w inny sposób analizować strumień podczas odtwarzania, poza odczytywaniem początkowego nagłówka WAVEFORMAT.

Aby uzyskać bardziej zaawansowany przykład źródła multimediów, zobacz MPEG1Source Sample.

Pokazano interfejsy API

W tym przykładzie przedstawiono następujące interfejsy programu Media Foundation:

Użycie

Przykład WavSource tworzy bibliotekę DLL, która jest serwerem COM zarówno dla źródła multimediów, jak i programu obsługi strumienia bajtowego źródła multimediów. Przed użyciem źródła multimediów należy zarejestrować bibliotekę DLL.

Aby użyć źródła multimediów, możesz uruchomić BasicPlayback. Program rozpoznawania źródła automatycznie załaduje źródło multimediów, jeśli wybierzesz plik .wav do odtwarzania. (Jeśli wystąpi błąd, upewnij się, że WavSource DLL została pomyślnie zarejestrowana).

Możesz również użyć narzędzia TopoEdit, aby utworzyć topologię odtwarzania zawierającą źródło multimediów. Aby uzyskać więcej informacji na temat obiektu TopoEdit, zobacz TopoEdit.

Wymagania

Produkt Wersja
zestaw Windows SDK Windows 7

 

Pobieranie przykładu

Ten przykład jest dostępny w repozytorium github przykładów systemu Windows klasycznych.

przykłady zestawu SDK Media Foundation

źródła multimediów

MPEG1Source Sample

Programy obsługi schematów i programy obsługi Byte-Stream

Tworzenie niestandardowego źródła multimediów