0

我有一个 NetStream 对象,基于以下代码:

streamID = "mystreamkey";
videoURL = "rtmp://mystreamurl";

vid = new Video();

nc = new NetConnection();

nc.addEventListener(NetStatusEvent.NET_STATUS, onConnectionStatus);
nc.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
nc.client = { onBWDone: function():void{}, streamConnected: streamConnected, streamDisconnected: streamDisconnected };
nc.connect(videoURL);

...

metaListener = new Object();
metaListener.onMetaData = received_Meta;
netStreamObj.client = metaListener;

netStreamObj.play(streamID);
vid.attachNetStream(netStreamObj);
addChild(vid);

这一切都很好,我也可以netStreamObj.pause()用来暂停直播。

但是我该如何重新启动它呢?netStreamObj.play()不起作用 - 它需要一个参数,所以我写了这个:

netStreamObj.play(streamID);
vid.attachNetStream(netStreamObj);

但这也不起作用。

如何重新启动流,以便它连接到之前连接的实时流?

4

1 回答 1

2

如何重新启动流,以便它连接到之前连接的实时流?

如需将来参考,请查看 NetStream API文档中的选项。您将查看公共方法部分下列出的命令。

您可以使用:

resume():恢复播放暂停的视频流。

用法 :netStreamObj.resume();

togglePause():暂停或恢复流的播放。

用法:netStreamObj.togglePause();


我建议使用togglePause它,因为它会自动检测NetStream 对象的播放状态。您的“暂停”按钮(或 MovieClip)应该简单地有一个点击监听事件,其函数有这一行:netStreamObj.togglePause();。就这么容易...

于 2016-06-18T10:48:37.173 回答