
[英]as3 FLV component posistion / align issue - FLVPlayback();
[英]Play a byteArray flv through FLVPlayback component
有什么方法可以通过FLVPlayback组件播放byteArray吗?
我想加载一个加密的视频,解密并播放。 我可以执行加载和解密部分,但是我不知道如何通过FLVPlayback组件播放它。 具有搜索功能和播放停止按钮。
有一种以ByteArray形式加载和播放FLV视频的方法,但是我不知道是否可以通过FLVPlayback组件本身将其与查找,播放和暂停功能结合使用。
在我的示例中,我添加了暂停/取消暂停功能,但是查找很困难,因为解决方法将此ByteArray视为来自服务器的RTMP流,而不是逐渐加载的视频。
这是舞台上带有FLVPlayback组件的FLA的文档类(实例名称为flvPlayback
),它只是将本地FLV嵌入为ByteArray,在顶部引用:
package {
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.events.NetStatusEvent;
import flash.net.NetConnection;
import flash.net.NetStream;
import flash.net.NetStreamAppendBytesAction;
import flash.utils.ByteArray;
import fl.video.FLVPlayback;
public class VideoFromByteArray extends Sprite {
[Embed(source="your_video.flv", mimeType="application/octet-stream")]
private var TestVideo:Class;
public var flvPlayback:FLVPlayback; //Instantiated on stage in FLA//
private var _nc:NetConnection;
private var _ns:NetStream;
private var _ba:ByteArray;
public function VideoFromByteArray() {
ui_init();
}
private function ui_init():void {
_nc = new NetConnection();
_nc.connect(null);
_ns = new NetStream(_nc);
_ns.client = { };
_ns.addEventListener(NetStatusEvent.NET_STATUS, ns_netStatus);
flvPlayback.getVideoPlayer(0).attachNetStream(_ns);
_ba = new TestVideo();
_ns.play(null);
_ns.appendBytes(_ba);
_ns.send("|RtmpSampleAccess", true, true);
stage.addEventListener(MouseEvent.CLICK, stage_click);
}
private function stage_click(evt:MouseEvent):void {
_ns.togglePause();
}
private function ns_netStatus(event:NetStatusEvent):void {
var code:String = event.info.code;
switch(code) {
case "NetStream.Buffer.Empty":
_ns.seek(0);
break;
case "NetStream.Seek.Notify":
if (event.info.seekPoint == 0) ns_seekToBeginning();
break;
}
}
private function ns_seekToBeginning():void {
_ns.appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN);
_ns.appendBytes(_ba);
_ns.appendBytesAction(NetStreamAppendBytesAction.END_SEQUENCE);
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.