Freigeben über


Reader-Objekt

[Das dieser Seite zugeordnete Feature Windows Media Format 11 SDK-ist ein Legacyfeature. Es wurde von Source Reader und Sink Writerersetzt. Source Reader und Sink Writer wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code Source Reader und Sink Writer- anstelle Windows Media Format 11 SDK-verwendet werden soll. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, um die neuen APIs zu verwenden, falls möglich umgeschrieben werden.]

Das Leseobjekt liest Datenbeispiele aus Mediendateien. Das Reader-Objekt unterstützt derzeit Dateien mit der ASF-Dateistruktur (Advanced Systems Format) sowie MP3-Dateien. Die vom Leserobjekt bereitgestellten Daten sind nicht komprimiert und können standardmäßig gerendert werden, obwohl Beispiele ohne dekomprimiert werden können, falls gewünscht. Beispiele werden asynchron vom Leserobjekt ü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 eigene Renderingroutinen bereitstellen, um die aus einer Datei abgerufenen Medien anzuzeigen.

Wenn eine Datei codierte Medien enthält, die mit einem codec decodiert werden können, der vom Leseobjekt unterstützt wird, können Sie das Format der nicht komprimierten Ausgabe steuern. Um das Format der dekomprimierten Ausgabe für einen Datenstrom zu ändern, müssen Sie das Standardobjekt für die Ausgabemedieneigenschaften für diesen Datenstrom abrufen, änderungen daran vornehmen und dem Datenstrom im Reader neu zuweisen. Ausgabemedieneigenschaftenobjekte sind dem Leseobjekt untergeordnet und sollten nur mithilfe der IWMReader::GetOutputProps-Methode erstellt werden.

Das Leseobjekt wird von der Funktion WMCreateReadererstellt, die einen Zeiger auf eine IWMReader-schnittstelle festlegt. Die anderen Schnittstellen des Leserobjekts können durch Aufrufen der QueryInterface--Methode abgerufen werden.

Die folgenden Schnittstellen werden vom Reader-Objekt unterstützt.

Schnittstelle Beschreibung
IReferenceClock- Bietet Zugriff auf die vom Leser verwendete Systemuhr.
IWMDRMReader- Verwaltet den Lizenzerwerb, DRM- Eigenschaften und die Clientindividierung.
IWMDRMReader2 Bietet Zugriff auf Lizenzen, die Ausgabeschutzebenen (OPL) verwenden, um Rechte anzugeben.
IWMHeaderInfo Legt Kopfzeileninformationen fest und ruft sie ab, einschließlich Metadaten, Markierungenund 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 mehrere Sprachunterstützung. Erbt alle Methoden von IWMHeaderInfo und IWMHeaderInfo2.
IWMPacketSize Ruft die Größe des größten Pakets in der Datei ab, die im Reader geladen wurde.
IWMPacketSize2 Ruft die Größe des kleinsten Pakets in der Datei ab, die im Reader geladen wurde.
IWMProfile- Bietet Zugriff auf die Profilinformationen der im Reader geladenen Datei.
IWMProfile2- Ruft die GUID (Globally Unique Identifier) ab, falls vorhanden, die dem Profil zugeordnet ist. Erbt alle Methoden von IWMProfile.
IWMProfile3- Unterstützt Bandbreitenfreigabe- und Datenstrompriorisierungsinformationen im Profil. Erbt alle Methoden von IWMProfile und IWMProfile2.
IWMReader- Bietet grundlegende Funktionen zum Lesen von Dateien, einschließlich Vorgängen wie "Öffnen", "Schließen", "Start", "Anhalten", "Fortsetzen", "Beenden" und "Abrufen und Festlegen der Ausgabeeigenschaften".
IWMReaderAccelerator- Kommuniziert mit directX-Videobeschleunigung.
IWMReaderAdvanced Bietet erweiterte Features des Readers, z. B. eine vom Benutzer bereitgestellte Uhr, Pufferzuweisung, Rückgabestatistiken und Streamauswahlbenachrichtigungen.
IWMReaderAdvanced2 Stellt einen zusätzlichen Bereich erweiterter Methoden für ein vorhandenes Leseobjekt bereit. Erbt alle Methoden von IWMReaderAdvanced.
IWMReaderAdvanced3 Bietet erweiterte Such- und Streamingsteuerung. Erbt alle Methoden von IWMReaderAdvanced und IWMReaderAdvanced2.
IWMReaderAdvanced4 Bietet erweiterte Leseoptionen, einschließlich mehrerer Sprachunterstützung. Erbt alle Methoden von IWMReaderAdvanced, IWMReaderAdvanced2und IWMReaderAdvanced3.
IWMReaderNetworkConfig- Steuert netzwerkkonfigurationseinstellungen.
IWMReaderNetworkConfig2 Bietet Zugriff auf erweiterte Netzwerkkonfigurationseinstellungen. Erbt alle Methoden von IWMReaderNetworkConfig.
IWMReaderStreamClock Legt Zeitgeber für Datenstromuhren fest und bricht sie ab und ruft den aktuellen Wert einer angegebenen Datenstromuhr ab.
IWMReaderTimecode- Enthält Informationen zu SMPTE-Zeitcodebereichen in der datei, die im Reader geladen wurde.
IWMReaderTypeNegotiation Überprüft, ob Änderungen an den Ausgabeeigenschaften eines Datenstroms ordnungsgemäß funktionieren.

 

Die folgenden Rückrufschnittstellen können in der Anwendung implementiert werden, um den Fortschritt eines Leseobjekts nachzuverfolgen.

Schnittstelle Beschreibung
IWMCredentialCallback- Erwirbt die Anmeldeinformationen von Benutzern und überprüft, ob sie über die Berechtigung für den Zugriff auf eine Remotewebsite verfügen.
IWMReaderAllocatorEx Bietet erweiterte Alternativen zu den AllocateForOutput- und AllocateForStream- Methoden der IWMReaderCallbackAdvanced Schnittstelle.
IWMReaderCallback- Stellt Rückrufmethoden für die methoden Start und Open von IWMReaderbereit.
IWMReaderCallbackAdvanced Stellt Rückrufmethoden für die Methoden der IWMReaderAdvanced--Schnittstelle bereit.
IWMStatusCallback- Erforderlich, wenn Statusinformationen an die Hostanwendung übermittelt werden müssen.

 

Objekte

Lesen von ASF-Dateien

Synchronleseobjekt