2012-01-24 49 views
0

我有一個rtmp文件夾與視頻, 我正在嘗試使用nestsream play2方法無縫更改到下一個視頻。 已嘗試使用NetStreamPlayTransitions.SWITCH的快速切換,如下所示。NetStreamPlayTransitions.SWITCH用於不同的流?

 private var FName:Array = ["1av.flv","2av.flv","3av.flv","4av.flv","5av.flv"]; 
     private var opts:NetStreamPlayOptions = new NetStreamPlayOptions(); 

// on init of net connection 

      video.attachNetStream(stream); 
      stream.play(FName[counter]); 

// counter increments at playstop of current. 
//on playstop of current video. i am calling the new stream function 

     public function newStream(address:String):void 
     { 
      opts.oldStreamName=FName[counter-1]; 
      opts.streamName = address; 
      opts.transition = NetStreamPlayTransitions.SWITCH; 
      opts.offset = -1; 
      stream.play2(opts);     
     } 

問題是切換沒有發生。 offset = -1應該是快速切換。這個想法是無縫過渡到下一個視頻。
如果我們不使用任何過渡方式,或者使用

opts.transition = NetStreamPlayTransitions.RESET; 

它一樣不使用任何。它只是正常切換。 RTMP應該提供一個相對較快的轉換,我正在尋找一個無縫的選項。

我在這裏失蹤了什麼?

回答

0

由於網絡滯後和處理速度,您總會在切換流之間產生第二個或更小的延遲。我會實例化第二個NetStream,並在第一個流對象停止/淡出時開始播放該對象。但是,如果連接的數量是一個問題,對此的破解可能是在NetStream交換機之間使用一個聲音fx - 屏蔽延遲。

+0

切換是在兩個不同的視頻流上完成的。我無法看到它的實現速度更快。如果我實例化第二個nestream並暫停它(它必須從第一個開始),然後停止第一個流處理刪除它並將其替換爲第二個流然後恢復它?並嘗試使用音效來掩蓋其轉場?感知音頻故障? 。 –

+0

所以只是爲了確認沒有辦法使用play2方法來快速轉換兩個不同的內容流。 –