2012-01-24 6 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);     
     } 

問題はスイッチングが起こっていないことです。 オフセット= -1は、高速スイッチングであると想定されます。アイデアは、次のビデオにシームレスに移行することです。
我々は任意の遷移方法を使用するか、いずれかを使用していないとして、その同じ

opts.transition = NetStreamPlayTransitions.RESET; 

を使用していけない場合。ちょうど正常に切り替わります。 RTMPは比較的高速な移行を提供するはずです。シームレスなオプションを探しています。

私はここで何が欠けていますか?

答えて

0

ネットワーク遅延と処理速度のために、ストリームを切り替える間に常に2番目またはそれ以下の遅延が生じます。代わりに、2番目のNetStreamをインスタンス化し、最初のストリームオブジェクトが停止/フェードアウトしている間にそのオブジェクトの再生を開始します。ただし、接続数が問題になる場合は、NetStreamスイッチ間でサウンドを使用して遅延をマスクすることが考えられます。

+0

切り替えは2つの異なるビデオストリームで行われます。その実装が高速であることがわかりません.2番目のネストストリームをインスタンス化して一時停止する(最初から開始する必要があります)最初のストリームハンドルはそれを削除し、それを2番目のストリームに置き換えてから再開しますか?トランジションをマスクするためにサウンドエフェクトを使用しようとしますか?知覚されるオーディオグリッチ? 。 –

+0

これだけを確認する2つの異なるコンテンツストリームを素早く移行するためにplay2メソッドを使用する方法はありません。 –

関連する問題