我有一个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);
但这也不起作用。
如何重新启动流,以便它连接到之前连接到的实时流?
答案 0 :(得分:2)
如何重新启动流,以便它连接到实时流 之前已连接到?
供将来参考,请查看NetStream API documentation 以获取选项。您正在查看 Public methods 部分下列出的命令。
您可以使用:
resume(): 恢复播放暂停的视频流。
用法:netStreamObj.resume();
togglePause(): 暂停或恢复播放流。
用法:netStreamObj.togglePause();
我建议使用togglePause
,因为它自动检测 NetStream对象的回放状态。你的"暂停"按钮(或MovieClip)应该只有一个单击侦听器事件,其功能包含以下行:netStreamObj.togglePause();
。这很容易......