Reader-Objekt
[Das dieser Seite zugeordnete Feature Windows Media Format 11 SDK ist ein Legacyfeature. Sie wurde durch den Quellleser und den Senkenschreiber ersetzt. Quellleser und Senkenschreiber wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit den Quellleser und senkenden Writer anstelle des Windows Media Format 11 SDK verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]
Das Reader-Objekt liest Datenbeispiele aus Mediendateien. Das Reader-Objekt unterstützt derzeit Dateien mit der ASF-Dateistruktur (Advanced Systems Format) sowie MP3-Dateien. Vom Reader-Objekt übermittelte Daten sind standardmäßig unkomprimiert und zum Rendern bereit, obwohl Beispiele bei Bedarf ohne Dekomprimierung übermittelt werden können. Beispiele werden asynchron vom Reader-Objekt übermittelt. Sie müssen eine Rückruffunktion einrichten, um sie zu empfangen. Verwenden Sie für die synchrone Wiedergabe von ASF-Dateien das synchrone Reader-Objekt. Weder der Reader noch der synchrone Reader rendert Daten. Sie müssen Ihre eigenen Renderingroutinen bereitstellen, um die aus einer Datei abgerufenen Medien anzuzeigen.
Wenn eine Datei codierte Medien enthält, die mit einem vom Reader-Objekt unterstützten Codec decodiert werden können, können Sie das Format der unkomprimierten Ausgabe steuern. Um das Format der dekomprimierten Ausgabe für einen Stream zu ändern, müssen Sie das Standardobjekt der Ausgabemedieneigenschaften für diesen Stream abrufen, Änderungen daran vornehmen und es dem Stream im Reader neu zuweisen. Ausgabemedieneigenschaftenobjekte sind dem Reader-Objekt untergeordnet und sollten nur mit der IWMReader::GetOutputProps-Methode erstellt werden.
Das Reader-Objekt wird von der Funktion WMCreateReader erstellt, die einen Zeiger auf eine IWMReader-Schnittstelle festlegt. Die anderen Schnittstellen des Reader-Objekts können durch Aufrufen der QueryInterface-Methode abgerufen werden.
Die folgenden Schnittstellen werden vom Reader-Objekt unterstützt.
Schnittstelle | Beschreibung |
---|---|
IReferenceClock | Ermöglicht den Zugriff auf die Systemuhr, die vom Leser verwendet wird. |
IWMDRMReader | Verwaltet lizenzerwerb, DRM-Eigenschaften und Clientindividuellenisierung. |
IWMDRMReader2 | Ermöglicht den Zugriff auf Lizenzen, die Ausgabeschutzebenen (OPL) zum Angeben von Rechten verwenden. |
IWMHeaderInfo | Legt Headerinformationen fest und ruft sie ab, einschließlich Metadaten, Markern und Skriptdaten. |
IWMHeaderInfo2 | Ruft Informationen zu den Codecs ab, die zum Codieren des Inhalts in der Datei verwendet wurden. Erbt alle Methoden von IWMHeaderInfo. |
IWMHeaderInfo3 | Unterstützt große Attributgrößen, doppelte Attributnamen und Unterstützung für mehrere Sprachen. Erbt alle Methoden von IWMHeaderInfo und IWMHeaderInfo2. |
IWMPacketSize | Ruft die Größe des größten Pakets in der Datei ab, die in den Reader geladen wurde. |
IWMPacketSize2 | Ruft die Größe des kleinsten Pakets in der Datei ab, die in den Reader geladen wurde. |
IWMProfile | Ermöglicht den Zugriff auf die Profilinformationen der Datei, die in den Reader geladen wurde. |
IWMProfile2 | Ruft den globalen eindeutigen Bezeichner (GUID) ab, falls vorhanden, der dem Profil zugeordnet ist. Erbt alle Methoden von IWMProfile. |
IWMProfile3 | Unterstützt Informationen zur Bandbreitenfreigabe und Streampriorisierung im Profil. Erbt alle Methoden von IWMProfile und IWMProfile2. |
IWMReader | Bietet grundlegende Dateilesefunktionen, einschließlich Vorgängen wie Öffnen, Schließen, Starten, Anhalten, Fortsetzen, Beenden und Abrufen und Festlegen der Ausgabeeigenschaften. |
IWMReaderAccelerator | Kommuniziert mit DirectX-Videobeschleunigung. |
IWMReaderAdvanced | Stellt erweiterte Funktionen des Lesers bereit, z. B. eine vom Benutzer bereitgestellte Uhr, Pufferzuordnung, Rückgabestatistiken und Streamauswahlbenachrichtigungen. |
IWMReaderAdvanced2 | Stellt einen zusätzlichen Bereich erweiterter Methoden für ein vorhandenes Leserobjekt bereit. Erbt alle Methoden von IWMReaderAdvanced. |
IWMReaderAdvanced3 | Bietet erweiterte Such- und Streamingsteuerung. Erbt alle Methoden von IWMReaderAdvanced und IWMReaderAdvanced2. |
IWMReaderAdvanced4 | Bietet erweiterte Leseroptionen, einschließlich Unterstützung für mehrere Sprachen. Erbt alle Methoden von IWMReaderAdvanced, IWMReaderAdvanced2 und IWMReaderAdvanced3. |
IWMReaderNetworkConfig | Steuert die Netzwerkkonfigurationseinstellungen. |
IWMReaderNetworkConfig2 | Bietet Zugriff auf erweiterte Netzwerkkonfigurationseinstellungen. Erbt alle Methoden von IWMReaderNetworkConfig. |
IWMReaderStreamClock | Legt Timer für Streamuhren fest und bricht sie ab und ruft den aktuellen Wert einer angegebenen Streamuhr ab. |
IWMReaderTimecode | Stellt Informationen zu SMPTE-Zeitcodebereichen in der Datei bereit, die in den Reader geladen wird. |
IWMReaderTypeNegotiation | Testet, ob Änderungen an den Ausgabeeigenschaften eines Datenstroms ordnungsgemäß funktionieren. |
Die folgenden Rückrufschnittstellen können in der Anwendung implementiert werden, um den Fortschritt eines Leserobjekts nachzuverfolgen.
Schnittstelle | Beschreibung |
---|---|
IWMCredentialCallback | Ruft die Anmeldeinformationen von Benutzern ab und überprüft, ob sie über die Berechtigung für den Zugriff auf einen Remotestandort verfügen. |
IWMReaderAllocatorEx | Stellt erweiterte Alternativen zu den Methoden AllocateForOutput und AllocateForStream der IWMReaderCallbackAdvanced-Schnittstelle bereit. |
IWMReaderCallback | Stellt Rückrufmethoden für die Start - und Open-Methoden von IWMReader bereit. |
IWMReaderCallbackAdvanced | Stellt Rückrufmethoden für die Methoden der IWMReaderAdvanced-Schnittstelle bereit. |
IWMStatusCallback | Erforderlich, wenn status Informationen an die Hostanwendung übermittelt werden müssen. |
Zugehörige Themen