我正在开发一个本地应用程序(它不是一个网站,也不是任何相关的东西),我现在有各种FLV,它的加密方法非常简单(就像每个字节添加10个)。
我可以在解密后使用NetStream.appendBytes()加载/播放它们,但只有在读取所有视频数据(即而不是流)之后才能加载/播放它们。
我真正需要的是流来自远程url的视频,并在接收数据时解密,使用我已经构建的基于OSMF的播放器。我不知道OSMF如何处理FLV,否则,我会尝试创建一个插件或类似的东西。如果有人指点我如何处理这件事,我会非常感激的。
但是,如果有人帮助我找到使用OSMF加载本地文件的方法,传递一个ByteArray值,而不是一个url (下面),我会很高兴。或者甚至告诉我如何创建一个OSMF插件来解决我的问题。
videoElement.resource = "video_url/video.flv";这是我的当前代码,只用于播放解码的FLV字节数组。
private function playBytes(bytes:ByteArray):void
{
// detecting it's header
if (bytes.readUTFBytes(3) != "FLV")
{
_text.appendText("\nFile \""+ file +"\" is not a FLV")
return void;
}
bytes.position = 0;
netConnection.connect(null);
netStream = new NetStream(netConnection);
netStream.client = { onMetaData:function(obj:Object):void { } }
video.attachNetStream(netStream);
addChild(video);
// put the NetStream class into Data Generation mode
netStream.play(null);
// before appending new bytes, reset the position to the beginning
netStream.appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN);
// append the FLV video bytes
netStream.appendBytes(bytes);
}发布于 2011-10-20 17:48:09
有趣的帖子,我很想知道答案。我自己也在看一些类似的东西,虽然不是用一条小溪,但我遇到了以下情况。
http://ntt.cc/2008/07/15/bitsreader-read-bits-from-given-bytearray.html
在传递字节数组之后,可以使用10位数组的bits.read(8)。也许这会让你走上正确的道路?否则,我想你需要把它拆开,做更小的部分来缓冲,以便连接所有缓冲的数据.
只是一个想法,
https://stackoverflow.com/questions/7839884
复制相似问题