2010-01-29 51 views
1

我正在開發一個項目,其中存在從3D環境的Maya渲染的飛行短片。我製作了一個swf,將剪輯加載爲FLV並相應地播放它們。FLV回放意外停止並且從不恢復

我的當前腳本似乎在FLV播放過程中有時會彈起,並且從未恢復。瑞士法郎的大小是1280x720和大約1500比特率但剪輯非常小。通常在1mb,我在播放前預載所有的flv。下面是我的腳本的下沉版本:

function playFLV(fileName) { 
var netConnection:NetConnection = new NetConnection(); 
netConnection.connect(null); 
var netStream:NetStream = new NetStream(netConnection); 
VideoHolder.MainVideo.attachVideo(netStream); 
// Status Events 
netStream.onStatus = function(infoObject:Object) { 
    // Status Codes 
    tracer.text = infoObject.code; 
    switch (infoObject.code) { 
    // StartPlay 
    case "NetStream.Play.Start": 
    // Do some stuff 
    break; 
    // StopPlay  
    case "NetStream.Buffer.Empty":  
    // Do some stuff 
    break;  
    } 
} 
// Play 
if(netStream.bytesLoaded==netStream.bytesTotal) { 
    netStream.setBufferTime(2); // I tried playing with the buffer time but nadda 
    netStream.play("flv/"+fileName); 
} 
} 

我想知道是否有更有效的方法來做到這一點。 我正在考慮可能的關鍵框架每個幀到SWF文件和使用loadMovie。

任何想法將不勝感激。

回答

0

您是否考慮過將FLVs服務器端合併到單個FLV中?如果您的源FLV都具有相同的CODEC和CODEC參數,我認爲您甚至可以動態執行此操作。

我也會花更多的時間來解決爲什麼你有問題。

  • 您是否確認FLV已按照預期進行了預加載?
  • 它們是否被正確緩存在瀏覽器端?
  • 該緩存是否完好?
  • 錯誤信息究竟是什麼?

這些都是我沒有看到你的問題,我會問自己的所有細節。