如何暂停和重启NetStream对象?

时间:2016-06-18 07:33:38

标签: actionscript-3 flash actionscript netstream netconnection

我有一个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);

但这也不起作用。

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

1 个答案:

答案 0 :(得分:2)

  

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

供将来参考,请查看NetStream API documentation 以获取选项。您正在查看 Public methods 部分下列出的命令。

您可以使用:

  

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

用法:netStreamObj.resume();

  

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

用法:netStreamObj.togglePause();


我建议使用togglePause,因为它自动检测 NetStream对象的回放状态。你的"暂停"按钮(或MovieClip)应该只有一个单击侦听器事件,其功能包含以下行:netStreamObj.togglePause();。这很容易......