我正在研究一个本地应用程序(它不是一个网站或者没有任何相关内容),我现在有各种FLV和一个非常简单的加密方法(就像在每个字节添加10个)。
我可以在解密后使用NetStream.appendBytes()加载/播放它们,但这只有在我读完所有视频数据后才会发生不流式传输。
我真正需要的是使用我已经构建的基于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);
}
答案 0 :(得分:1)
有趣的帖子,我有兴趣看到答案。我自己看了类似的东西,虽然没有流,但我遇到了以下情况。
http://ntt.cc/2008/07/15/bitsreader-read-bits-from-given-bytearray.html
传递字节数组后,可以使用10位数组的bits.read(8)。也许这会让你走上正确的道路?否则,我认为你需要将它拆开并基本上做较小的部分来缓冲,以便连接所有缓冲的数据......
只是一个想法,