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.

 

Objekte

Lesen von ASF-Dateien

Synchrones Reader-Objekt