将问题与多个flv同步

时间:2010-06-05 03:30:04

标签: flash actionscript-3 video flv sync

是否可以同步flv视频?我正在同时播放几个视频,但它们不一致地不同步。如果我添加一个搜索所有视频为0的按钮,它们可能同步也可能不同步。当它们不同步时,它只有几分之一秒,但对于这个应用程序,几分之一秒是非常明显的。我们可以获得精确帧同步吗?

作为参考,这里是用于播放视频的精简代码。 (这只是标准的网络电话)

var nc:NetConnection = new NetConnection();
nc.connect(null);

var ns1:NetStream = new NetStream(nc);
vid_1.attachNetStream(ns1);
ns1.play("vid1.flv");
ns1.pause();
ns1.seek(0);
ns1.addEventListener(NetStatusEvent.NET_STATUS, netstat);

var ns2:NetStream = new NetStream(nc);
vid_2.attachNetStream(ns2);
ns2.play("vid2.flv");
ns2.pause();
ns2.seek(0);
ns2.addEventListener(NetStatusEvent.NET_STATUS, netstat);

function netstat(stats:NetStatusEvent) {
 //trace(stats.info.code);
}
var netClient:Object = new Object();
netClient.onMetaData = function(meta:Object){
              //trace(meta.duration);
      };

ns1.client = netClient;
ns2.client = netClient;

ns1.resume();
ns2.resume();

我有一个按钮:

btn_play.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
function mouseDownHandler(event:MouseEvent):void {
 ns1.seek(0.0);
 ns2.seek(0.0);
};

点击按钮会重新启动视频,有时会同步,有时则不会。

如何始终如一地让它们同步?

由于

1 个答案:

答案 0 :(得分:0)

您可以考虑暂停两个视频,直到两个视频的“NetStream.Seek.Notify”状态事件都已启动。当视频完成搜索其预期的时间码时,它会触发。