1

我有一个 flv 视频文件我通过使用将此 flv 文件的二进制数据加载到内存中

var myFile:File = File.documentsDirectory.resolvePath("AIR Test/video.flv"); var myFileStream:FileStream = new FileStream(); myFileStream.open(myFile, FileMode.READ); var bytes :ByteArray = new ByteArray(); myFileStream.readBytes(字节); myFileStream.close();

现在我想在字节内存变量中更改这个加载的 flv 的一些标头。但是在更改标头后,更改的标头存储在被覆盖的字节内存变量中。

现在我怎么能从这个内存播放那个flv文件(字节内存变量)

4

1 回答 1

0

一种选择是将字节保存为临时文件,然后从本地文件系统播放。

// write to temp file
var f:File = File.createTempFile();
var fs:FileStream = new FileStream();
fs.open(f, FileMode.WRITE);
fs.writeBytes(bytes);
fs.close();

// play back
var display:VideoDisplay; // created somehow
display.source = f.url;

不确定某些细节(临时文件是否需要 .flv 扩展名?源 URL 是否需要是本机路径或类似的路径?)但该方法应该在 AIR 中工作。

于 2009-11-10T17:13:50.837 回答