2010-11-28 8 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だけでは不可能です。つまり、FLVは徐々にロードされるので、メタデータを取得するためにビデオ全体をロードする必要はありません。各ビデオを読み込んで、メタデータを取得したら読み込みを停止することができます。

+0

それぞれのメタデータ機能はビデオにのみ割り当てられ、ビデオが終了するまでは割り当てられますか? – Hwang

+0

いいえ、最初のビデオからメタデータを取得したら、次のビデオをロードする必要があります – Zevan

+0

は、複数のリンクをクリックするとビデオをオンホールドしますが、ビデオのメタデータを取得するまでは、 1? – Hwang

関連する問題