我发现我只能获取我点击的第一个视频的元数据。元数据如何运作?它只能在视频结束前加载一次?
以下是我正在做的一些例子
//will be adding new video when this function is called
public function set newVideo():void
{
videoProperties();
}
public function videoProperties():void
{
meta=new Object()
nc = new NetConnection();
nc.connect(null);
ns = new NetStream(nc);
nsArray[dList.currentIndex] = ns;
nsi = nsArray[dList.currentIndex];
// Add the buffer time to the video Net Stream
nsi.bufferTime = buffer;
// Set client for Meta Data Function
nsi.client = {};
nsi.client.onMetaData = onMetaData;
nsi.addEventListener(AsyncErrorEvent.ASYNC_ERROR,asyncErrorHandler);
nsi.addEventListener(NetStatusEvent.NET_STATUS, onNetStatusEvent);
nsi.play(videoURL);
nsi.pause();
nsi.seek(-1);
}
private function onMetaData(info:Object):void
{
//some video duration calculations
}
我尝试一次加载所有元数据,但似乎只需要视频播放才能获得元数据。
答案 0 :(得分:2)
您是否尝试在不启动视频加载过程的情况下获取元数据?如果是这样,单独使用动作脚本是不可能的。也就是说,由于flvs逐步加载,您不需要加载整个视频来获取元数据。您可以加载每个视频,并在获得元数据后停止加载。