Schreiben von Streams in eine Datei
Sie können auch eine Datei mit Datenströmen erstellen, indem Sie einen neuen Datenstrom in eine Datei schreiben.
Sie können einen neuen Stream in einer neuen oder vorhandenen Datei erstellen, indem Sie die FUNKTION AVIFileCreateStream verwenden. Diese Funktion definiert einen neuen Stream gemäß den in einer AVISTREAMINFO-Struktur beschriebenen Merkmalen, erstellt eine Streamschnittstelle für den neuen Stream, erhöht den Verweiszähler des Streams und gibt die Adresse des Streamschnittstellenzeigers zurück.
Bevor Sie den Inhalt des Streams schreiben, müssen Sie das Streamformat angeben. Sie können das Streamformat mithilfe der AVIStreamSetFormat-Funktion festlegen. Wenn Sie das Format eines Videostreams festlegen, müssen Sie dieser Funktion eine BITMAPINFO-Struktur mit den entsprechenden Informationen bereitstellen. Wenn Sie das Format eines Audiostreams festlegen, müssen Sie eine WAVEFORMAT- oder WAVEFORMATEX-Struktur mit den entsprechenden Informationen bereitstellen. Welche Informationen Sie der Funktion für andere Streamtypen bereitstellen müssen, hängt vom Streamtyp und dem Streamhandler ab.
Sie können die Multimediainhalte mithilfe der AVIStreamWrite-Funktion in einen Stream schreiben. Diese Funktion kopiert Rohdaten aus einem von der Anwendung bereitgestellten Puffer in den angegebenen Stream. Der standardmäßige AVI-Dateihandler fügt Informationen an das Ende eines Streams an. Der STANDARDMÄßIGE WAVE-Handler kann Waveform-Audiodaten sowohl innerhalb eines Streams als auch am Ende eines Streams schreiben.
Sie können ergänzende Informationen über die Datei oder den Stream schreiben, die nicht in der FUNKTION AVIFileCreateStream oder AVIStreamSetFormat enthalten sind, indem Sie die Funktionen AVIFileWriteData und AVIStreamWriteData verwenden. Sie können Daten, die für die gesamte Datei gelten, z. B. Copyrightinformationen und Änderungsverlauf, mithilfe von AVIFileWriteData aufzeichnen. Sie können streamspezifische Informationen wie Komprimierungs- und Dekomprimierungseinstellungen mithilfe von AVIStreamWriteData aufzeichnen. Die ergänzenden Informationen werden in separaten Blöcken innerhalb der Datei gespeichert.
Sie können den Stream schließen, nachdem Sie das Schreiben in den neuen Stream abgeschlossen haben, indem Sie die AVIStreamRelease-Funktion verwenden. Diese Funktion löscht Puffer, die zum Aufzeichnen der Datenstromdaten verwendet werden, und schließt alle unvollständigen Datenblöcke in der Datei.