Lesen aus einem Stream
Sie können Informationen zu einem geöffneten Stream mithilfe der AVIStreamInfo-Funktion abrufen. Diese Funktion füllt die AVISTREAMINFO-Struktur mit Informationen wie dem Typ der Daten im Stream, der Komprimierungsmethode, die beim Schreiben von Streamdaten verwendet wird, der vorgeschlagenen Puffergröße, der Wiedergaberate und einer Textbeschreibung des Streams.
Einige Member der AVISTREAMINFO-Struktur sind auch in der AVIFILEINFO-Struktur vorhanden. Die Informationen in der AVIFILEINFO-Struktur gelten für die gesamte Datei. Die Informationen in der AVISTREAMINFO-Struktur sind spezifisch für den Stream, auf den zugegriffen wird, und haben Vorrang vor den Informationen in der AVIFILEINFO-Struktur.
Wenn einem Stream ergänzende Informationen zugeordnet sind, können Sie diese Informationen mithilfe der AVIStreamReadData-Funktion abrufen. Diese Funktion gibt die Informationen in einem von der Anwendung bereitgestellten Puffer zurück. Ergänzende Datenstrominformationen können Konfigurationseinstellungen für die Komprimierungs- und Dekomprimierungsmethoden enthalten, die in einem Stream verwendet werden. Sie können die erforderliche Puffergröße mithilfe des MAKROS AVIStreamDataSize abrufen.
Sie können Formatierungsinformationen zu einem Stream mithilfe der AVIStreamReadFormat-Funktion abrufen. Diese Funktion gibt eine streamspezifische Struktur in einem von der Anwendung bereitgestellten Puffer zurück. Für einen Videostream enthält der Puffer Formatierungsinformationen in einer BITMAPINFO-Struktur. Für einen Audiostream enthält der Puffer Formatierungsinformationen in einer WAVEFORMATEX- oder PCMWAVEFORMAT-Struktur. Bei anderen Streamtypen gibt der Streamhandler spezifische Informationen für den Stream zurück. Sie können die erforderliche Puffergröße ermitteln, indem Sie AVIStreamReadFormat verwenden und eine NULL-Pufferadresse angeben oder das MAKRO AVIStreamFormatSize verwenden.
Sie können die Multimediainhalte in einem Stream mithilfe der AVIStreamRead-Funktion abrufen. Diese Funktion kopiert Rohdaten aus dem Stream in einen von der Anwendung bereitgestellten Puffer. Bei Videostreams ruft diese Funktion die Bitmapbilder ab, die den Frameinhalt bilden. Für Audiostreams ruft diese Funktion Waveform-Audiobeispiele ab, die den Soundinhalt bilden. Sie können die erforderliche Puffergröße ermitteln, indem Sie AVIStreamRead verwenden und eine NULL-Pufferadresse angeben oder das AVIStreamSampleSize-Makro verwenden.
Einige AVI-Streamhandler führen zu Verzögerungen im Zusammenhang mit der Software- und Hardwareinitialisierung oder -koordination. Sie können diese Handler mithilfe der AVIStreamBeginStreaming-Funktion informieren, um sich auf das Datenstreaming vorzubereiten. Mit dieser Funktion kann der Streamhandler die benötigten Ressourcen zuordnen und initialisieren. Verwenden Sie die FUNKTION AVIStreamEndStreaming, um diese Handler zu informieren, wenn das Streaming beendet wurde. Diese Funktion ermöglicht es dem Streamhandler, die Zuordnung der Ressourcen freizugeben, die er für AVIStreamBeginStreaming zugeordnet hat.
Die AVIStreamRead-Funktion stellt keine Dekomprimierungsdienste bereit. Informationen zum Komprimieren und Dekomprimieren von Audiostreams finden Sie unter Audiokomprimierungs-Manager. Informationen zum Komprimieren und Dekomprimieren von Videostreams finden Sie unter Videokomprimierungs-Manager. Informationen zum Komprimieren und Dekomprimieren einzelner Frames in einem Videostream finden Sie unter Arbeiten mit komprimierten Videodaten in einem Stream.