Lesen von Dateien mit dem asynchronen Reader

Der asynchrone Reader liest den Inhalt aus ASF-Dateien mithilfe mehrerer Threads und asynchroner Aufrufe. Die vom asynchronen Reader unterstützten Features eignen sich gut für Anwendungen, die Inhalte für Endbenutzer rendern.

Die grundlegendsten Funktionen des Readerobjekts können in die folgenden Schritte aufgeschlüsselt werden. In diesen Schritten bezieht sich "die Anwendung" auf das Programm, das Sie mit dem Windows Media Format SDK schreiben.

  1. Die Anwendung implementiert die IWMReaderCallback-Schnittstelle, um Nachrichten vom Reader zu verarbeiten. Dies umfasst zwei Rückrufmethoden: OnStatus, das Nachrichten empfängt, die sich auf den Status verschiedener Aspekte des Readers bezieht, und OnSample, das unkomprimierte Beispiele vom Reader empfängt.
  2. Die Anwendung übergibt den Namen einer zu lesenden Datei an den Reader. Wenn der Reader die Datei öffnet, weist er jedem Stream eine Ausgabenummer zu. Wenn die Datei gegenseitigen Ausschluss verwendet, weist der Reader eine einzelne Ausgabe für alle sich gegenseitig ausschließenden Streams zu.
  3. Die Anwendung ruft Informationen zur Konfiguration der verschiedenen Ausgaben vom Reader ab. Die gesammelten Informationen ermöglichen der Anwendung das ordnungsgemäße Rendern von Medienbeispielen.
  4. Die Anwendung weist den Leser an, mit dem Lesen von Daten aus der Datei zu beginnen. Der Reader beginnt damit, unkomprimierte Beispiele in Puffern, die in Pufferobjekten umschlossen sind, nach und nach an den OnSample-Rückruf zu übertragen. Die vom Reader bereitgestellten Beispiele befinden sich in der Reihenfolge der Präsentationszeit. Der Reader wird weiterhin Stichproben bereitstellen, bis er von der Anwendung beendet wird oder bis das Ende der Datei erreicht ist.
  5. Die Anwendung ist für das Rendern von Daten verantwortlich, nachdem sie vom Reader übermittelt wurden. Das Windows Media Format SDK stellt keine Renderingroutinen bereit. In der Regel verwenden Anwendungen andere SDKs zum Rendern von Daten, z. B. das Microsoft DirectX® SDK oder die Multimediafunktionen des Microsoft Windows Platform SDK.
  6. Wenn das Lesen abgeschlossen ist, weist die Anwendung den Reader an, die Datei zu schließen.

Diese Schritte werden unter anderem in der AudioPlayer-Beispielanwendung veranschaulicht. Weitere Informationen finden Sie unter Beispielanwendungen.

Der Reader unterstützt auch erweiterte Funktionen. Der Reader ermöglicht Folgendes:

  • Anhalten der Wiedergabe einer Datei.
  • Abrufen von Readerleistungsstatistiken.
  • Steuern der Streamauswahl für sich gegenseitig ausschließende Streams.
  • Manuelles Zuordnen von Puffern für die Ausgabe.
  • Geben Sie Ihre eigene Uhr an.
  • Rufen Sie den Status von Dateivorgängen ab (Pufferung, Download oder Speichern).
  • Öffnen Sie eine Datei mithilfe der COM-Standardschnittstelle IStream.
  • Suchen Sie nach bestimmten Punkten in einer ASF-Datei.
  • Liest Profildaten aus dem Header der Datei.

In den folgenden Abschnitten wird die Verwendung des Readerobjekts ausführlich beschrieben.

Lesen von ASF-Dateien

Reader-Objekt