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. |
Verwandte Themen