2012-03-30 22 views
0

我有一個FLV VID,並設置提示點動態閃存A3 - 停在一個提示點

vid.addASCuePoint(1, "cuePoint1"); 

如何過它並不總是在同一個地方停下來。我怎樣才能更準確?我認爲這是由於緩衝和其他一些因素?

import fl.video.*; 
//etc etc 
vid.addEventListener(fl.video.VideoEvent.READY, flvPlayback_ready); 
vid.addEventListener(MetadataEvent.CUE_POINT, flvPlayback_cuePoint); 

function flvPlayback_ready(evt:fl.video.VideoEvent):void { 
vid.addASCuePoint(1, "cuePoint1"); 
vid.play(); 
} 


function flvPlayback_cuePoint(evt:MetadataEvent):void { 
    vid.pause(); 
    trace("CUE POINT!!!"); 
    trace("\t", "name:", evt.info.name); // name: cuePoint1 
    trace("\t", "time:", evt.info.time); // time: 1 
    trace("\t", "type:", evt.info.type); // type: actionscript 

}

回答

0

中cuePoints可以添加到視頻有兩種方式: 1)編碼成實際的視頻 2)通過ActionScript添加

我沒有相應的文檔有任何聯繫,但我已經處理之前有這個問題。我讀過的東西說,通過actionscript添加提示點將不如將它們編碼到視頻上那麼準確。 ...和你的代碼表明這是你如何將它們添加...

我希望我有更好的消息給你,但我知道得到更多的準確性的唯一方法是在編碼過程中添加關鍵點。

+0

最後我只是吐了視頻。 – LeBlaireau 2012-04-02 09:34:49

0

這可能是由於該FLV用(我想的數目是1每30幀默認使用MediaEncoder編碼時)編碼的關鍵幀的數量。

嘗試重新編碼flv並將關鍵幀距離設置爲更小的值(甚至使用Media Encoder嵌入關鍵幀,而不是通過ActionScript添加它)。