Udostępnij przez


Aby pobrać próbki multimediów za pomocą czytnika asynchronicznego

[Funkcja skojarzona z tą stroną, windows Media Format 11 SDK, jest starszą funkcją. Zostało zastąpione przez Source Reader i Sink Writer. czytnik źródła i zapis do ujścia 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.]

Kiedy otrzymasz komunikat o stanie WMT_OPENED w implementacji IWMStatusCallback::OnStatus, możesz rozpocząć odbieranie próbek, wywołując IWMReader::Start. Czytnik asynchroniczny dostarcza próbki do Twojej implementacji IWMReaderCallback::OnSample. Przykłady są dostarczane w kolejności czasu prezentacji.

Start jest wywołaniem asynchronicznym. Zwróci się niemal natychmiast, i będzie nadal działać w oddzielnych wątkach. Czytnik asynchroniczny używa wielu wątków podczas dekodowania zawartości i dostarczania przykładów. Po osiągnięciu końca pliku czytnik wysyła stanowy komunikat WMT_EOF do Twojej implementacji wywołania zwrotnego OnStatus. Po wysłaniu WMT_EOF czytelnik zatrzymuje własne przetwarzanie; Nie musisz odpowiadać na WMT_EOF wywołaniem polecenia IWMReader::Stop.

interfejs IWMReader

Zaimplementować komunikaty czytnika w wywołaniu zwrotnym OnStatus

Aby zaimplementować wywołanie zwrotne OnSample