我有一个rtmp文件夹,里面有视频,我正在尝试使用nestsream play2方法对下一个视频进行无缝更改。已经尝试使用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应该提供一个相对较快的过渡,我正在寻找一个无缝的选择。
我在这里错过了什么?
由于网络滞后和处理速度的原因,切换流之间总是会有一秒或更小的延迟。相反,我会实例化第二个NetStream,并在第一个流对象停止/淡出时开始播放该对象。然而,如果连接数量是一个问题,那么破解方法可能是在NetStream开关之间使用声音fx来掩盖延迟。