我想创建一个包含多个视频的ipad应用程序。所有视频都必须嵌入闪存中,因此不需要流式传输。我可以通过这种方式在时间轴上嵌入flv,但是还有其他一些方法可以控制回放,使用Actionscript引用库中的视频对象或者在AS中使用嵌入式标签 - 这样我就可以获得更多的控制权并访问提示点。
答案 0 :(得分:8)
你必须嵌入文件并附加NetStream字节:
[Embed(source = "movie.flv", mimeType = "application/octet-stream")]
public var bytes:Class;
public var video:Video = new Video(640, 480);
public function Main():void {
addChild(video);
var nc:NetConnection = new NetConnection();
nc.addEventListener(NetStatusEvent.NET_STATUS , onConnect);
nc.addEventListener(AsyncErrorEvent.ASYNC_ERROR , trace);
var metaSniffer:Object=new Object();
nc.client=metaSniffer;
metaSniffer.onMetaData=getMeta;
nc.connect(null);
}
private function getMeta (mdata:Object):void {
video.width=mdata.width/2;
video.height=mdata.height/2;
};
private function onConnect(e:NetStatusEvent):void {
if (e.info.code == 'NetConnection.Connect.Success') {
trace(e.target as NetConnection);
var ns:NetStream = new NetStream(e.target as NetConnection);
ns.client = {};
var file:ByteArray = new bytes();
ns.play(null);
ns.appendBytes(file);
video.attachNetStream(ns);
}
}