从多个预加载视频中获取元数据

时间:2010-11-28 19:25:47

标签: actionscript-3 video metadata

我发现我只能获取我点击的第一个视频的元数据。元数据如何运作?它只能在视频结束前加载一次?

以下是我正在做的一些例子

//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
}

我尝试一次加载所有元数据,但似乎只需要视频播放才能获得元数据。

1 个答案:

答案 0 :(得分:2)

您是否尝试在不启动视频加载过程的情况下获取元数据?如果是这样,单独使用动作脚本是不可能的。也就是说,由于flvs逐步加载,您不需要加载整个视频来获取元数据。您可以加载每个视频,并在获得元数据后停止加载。