2010-11-28 42 views
2

我發現我只能得到我點擊的第一個視頻的元數據。元數據如何工作?它只能在視頻結束之前加載一次?從多個預加載視頻獲取元數據

下面是一些例子我在做什麼

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

我試過一次加載所有的元數據,但好像它需要的視頻是隻玩它會設法得到的元數據。

回答

2

您是否試圖在不啓動視頻加載過程的情況下獲取元數據?如果是這樣,單獨使用actionscript是不可能的。這就是說,由於flvs逐漸加載,你不需要加載整個視頻來獲取元數據。您可以加載每個視頻並在獲取元數據時停止加載視頻。

+0

所以每個元數據功能只能分配給一個視頻,直到視頻結束? – Hwang 2010-11-29 02:16:14