Obiekt czytelnika
[Funkcja skojarzona z tą stroną, windows Media Format 11 SDK, jest starszą funkcją. Został zastąpiony przez Source Reader i składnik zapisywania ujścia . czytnika źródeł i składników zapisywania 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.]
Obiekt czytelnika odczytuje przykłady danych z plików multimedialnych. Obiekt czytnika obsługuje obecnie pliki przy użyciu struktury plików w formacie advanced systems (ASF), a także plików MP3. Dane dostarczane przez obiekt czytelnika są domyślnie nieskompresowane i gotowe do renderowania, chociaż próbki można dostarczyć bez dekompresowania, jeśli jest to konieczne. Próbki są dostarczane asynchronicznie z obiektu czytelnika; Należy skonfigurować funkcję wywołania zwrotnego, aby je odbierać. W przypadku synchronicznego odtwarzania plików ASF użyj synchronicznego obiektu czytnika. Czytnik ani czytnik synchroniczny nie renderuje żadnych danych. Musisz podać własne procedury renderowania, aby wyświetlić nośnik pobrany z pliku.
Gdy plik zawiera zakodowane nośniki, które można dekodować za pomocą kodera obsługiwanego przez obiekt czytnika, można kontrolować format nieskompresowanych danych wyjściowych. Aby zmienić format zdekompresowanych danych wyjściowych strumienia, należy pobrać domyślny obiekt właściwości nośnika wyjściowego dla tego strumienia, wprowadzić zmiany i ponownie przypisać go do strumienia w czytniku. Obiekty właściwości nośnika wyjściowego są podrzędne dla obiektu czytnika i powinny być tworzone tylko przy użyciu metody IWMReader::GetOutputProps.
Obiekt czytnika jest tworzony przez funkcję WMCreateReader, która ustawia wskaźnik na interfejs IWMReader. Inne interfejsy obiektu czytelnika można uzyskać, wywołując metodę QueryInterface.
Następujące interfejsy są obsługiwane przez obiekt czytelnika.
Interfejs | Opis |
---|---|
IReferenceClock | Zapewnia dostęp do zegara systemowego używanego przez czytnik. |
IWMDRMReader | Zarządza pozyskiwaniem licencji, właściwościami drM i indywidualizacją klienta. |
IWMDRMReader2 | Zapewnia dostęp do licencji korzystających z poziomów ochrony danych wyjściowych (OPL) w celu określenia praw. |
IWMHeaderInfo | Ustawia i pobiera informacje nagłówka, w tym metadane, znaczniki i dane skryptu. |
IWMHeaderInfo2 | Pobiera informacje o koderach używanych do kodowania zawartości w pliku. Dziedziczy wszystkie metody IWMHeaderInfo. |
IWMHeaderInfo3 | Obsługuje duże rozmiary atrybutów, zduplikowane nazwy atrybutów i obsługę wielu języków. Dziedziczy wszystkie metody IWMHeaderInfo i IWMHeaderInfo2. |
IWMPacketSize | Pobiera rozmiar największego pakietu w pliku załadowanym do czytnika. |
IWMPacketSize2 | Pobiera rozmiar najmniejszego pakietu w pliku załadowanym do czytnika. |
IWMProfile | Zapewnia dostęp do informacji o profilu pliku załadowanego do czytnika. |
IWMProfile2 | Pobiera globalnie unikatowy identyfikator (GUID), jeśli istnieje, skojarzony z profilem. Dziedziczy wszystkie metody IWMProfile. |
IWMProfile3 | Obsługuje udostępnianie przepustowości i informacje o priorytetyzacji strumieni w profilu. Dziedziczy wszystkie metody IWMProfile i IWMProfile2. |
IWMReader | Udostępnia podstawowe funkcje odczytu plików, w tym operacje, takie jak otwieranie, zamykanie, uruchamianie, wstrzymywanie, wznawianie, zatrzymywanie i ustawianie właściwości wyjściowych. |
IWMReaderAccelerator | Komunikuje się z akceleratorem wideo DirectX. |
IWMReaderAdvanced | Udostępnia zaawansowane funkcje czytnika, takie jak zegar dostarczony przez użytkownika, alokacja buforu, statystyki powrotu i powiadomienia wyboru strumienia. |
IWMReaderAdvanced2 | Udostępnia dodatkowy zakres zaawansowanych metod dla istniejącego obiektu czytnika. Dziedziczy wszystkie metody IWMReaderAdvanced. |
IWMReaderAdvanced3 | Zapewnia zaawansowaną kontrolę wyszukiwania i przesyłania strumieniowego. Dziedziczy wszystkie metody IWMReaderAdvanced i IWMReaderAdvanced2. |
IWMReaderAdvanced4 | Udostępnia zaawansowane opcje czytnika, w tym obsługę wielu języków. Dziedziczy wszystkie metody IWMReaderAdvanced, IWMReaderAdvanced2i IWMReaderAdvanced3. |
IWMReaderNetworkConfig | Steruje ustawieniami konfiguracji sieci. |
IWMReaderNetworkConfig2 | Zapewnia dostęp do zaawansowanych ustawień konfiguracji sieci. Dziedziczy wszystkie metody IWMReaderNetworkConfig. |
IWMReaderStreamClock | Ustawia i anuluje czasomierze zegarów strumienia i pobiera bieżącą wartość określonego zegara strumienia. |
IWMReaderTimecode | Zawiera informacje o zakresach kodu czasu SMPTE w pliku załadowanym do czytnika. |
IWMReaderTypeNegotiation | Sprawdza, czy zmiany we właściwościach wyjściowych strumienia działają prawidłowo. |
Następujące interfejsy wywołania zwrotnego można zaimplementować w aplikacji w celu śledzenia postępu obiektu czytnika.
Interfejs | Opis |
---|---|
IWMCredentialCallback | Uzyskuje poświadczenia użytkowników i sprawdza, czy mają uprawnienia dostępu do lokacji zdalnej. |
IWMReaderAllocatorEx | Udostępnia rozszerzone alternatywy dla metod AllocateForOutput i AllocateForStreamIWMReaderCallbackAdvanced. |
IWMReaderCallback | Udostępnia metody wywołania zwrotnego dla metod Start i OpenIWMReader. |
IWMReaderCallbackAdvanced | Udostępnia metody wywołania zwrotnego dla metod interfejsu IWMReaderAdvanced. |
IWMStatusCallback | Wymagane, gdy informacje o stanie muszą być przekazywane do aplikacji hosta. |
Tematy pokrewne