Lesen von Dateien mit dem asynchronen Reader

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

Die einfachste Funktionalität des Reader-Objekts kann in die folgenden Schritte unterteilt 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 Leser zu behandeln. Dazu gehören zwei Rückrufmethoden: OnStatus, die Nachrichten über den Status verschiedener Aspekte des Lesers und OnSample empfängt, die nicht komprimierte Beispiele vom Leser empfängt.
  2. Die Anwendung übergibt an den Leser den Namen einer zu lesenden Datei. Wenn der Reader die Datei öffnet, weist er jedem Datenstrom eine Ausgabenummer zu. Wenn die Datei einen gegenseitigen Ausschluss verwendet, weist der Leser eine einzelne Ausgabe für alle sich gegenseitig ausschließenden Datenströme zu.
  3. Die Anwendung ruft Informationen zur Konfiguration der verschiedenen Ausgaben des Lesers ab. Die gesammelten Informationen ermöglichen es der Anwendung, Medienbeispiele ordnungsgemäß zu rendern.
  4. Die Anwendung weist den Leser an, Daten aus der Datei zu lesen. Der Leser beginnt, unkomprimierte Beispiele zum OnSample-Rückruf gleichzeitig in Puffer zu liefern, die in Pufferobjekte eingeschlossen sind. Die vom Leser gelieferten Beispiele befinden sich in der Präsentationszeit. Der Leser sendet weiterhin Beispiele, bis die Anwendung beendet wurde oder bis das Ende der Datei erreicht ist.
  5. Die Anwendung ist für das Rendern von Daten verantwortlich, nachdem sie vom Leser übermittelt wurde. Das Windows Media Format SDK stellt keine Renderingroutine bereit. In der Regel verwenden Anwendungen andere SDKs, um Daten wie das Microsoft DirectX® SDK oder die Multimediafunktionen der Microsoft Windows-Plattform-SDK zu rendern.
  6. Wenn das Lesen abgeschlossen ist, weist die Anwendung den Leser 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:

  • Wiedergabe einer Datei anhalten.
  • Abrufen von Leseleistungsstatistiken.
  • Steuern der Datenstromauswahl für sich gegenseitig ausschließende Datenströme.
  • Manuelles Zuweisen von Puffern für die Ausgabe.
  • Stellen Sie Ihre eigene Uhr bereit.
  • Abrufen des Status von Dateivorgängen (Puffern, Herunterladen oder Speichern).
  • Öffnen Sie eine Datei mit der standardmäßigen COM-Schnittstelle IStream.
  • Suchen Sie nach bestimmten Punkten in einer ASF-Datei.
  • Profildaten aus der Kopfzeile der Datei lesen.

In den folgenden Abschnitten wird die Verwendung des Reader-Objekts ausführlich beschrieben.

Lesen von ASF-Dateien

Reader-Objekt