as3 - 如何停止视频和分离NetStream

时间:2011-10-05 11:44:42

标签: actionscript-3 video streaming

我有来自服务器的视频流,后来我想并排添加另一个。这一切都很好,我做到了。现在我的问题来了,当我想要删除视频。我设法将其从显示中删除,但我可以听到视频仍然在后台播放。那么如何停止播放该视频呢? 以下是我设置视频的代码:

ns = new NetStream(connection);
ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
ns.play(item[1].toString() + ".flv");
video = new Video();
video.attachNetStream( ns );
video.width = 160;
video.height = 120;
videoWrapper = new UIComponent();
videoWrapper.addChild( video );
videos.addElement( videoWrapper );

这是删除

videos.removeElement(myVideos[p][1]); // myVideos[p][1] is a reference of videoWrapper

2 个答案:

答案 0 :(得分:6)

您可以通过拨打video.attachNetStream(null)来取消连接,也可以使用ns.close();关闭该流

最好两者都做。

答案 1 :(得分:4)

普通视频对象上,请勿拨打attachNetStream(null),因为AS3稍后将不会通过.clear()清除视频中的最后一个视频帧 看起来像个bug。 使用ns.close(),然后使用vid.clear(),以便视频对象可以再次透明。

StageVideo 上,这是不同的: 您可以拨打vid.attachNetStream(null),它也会从stagevideo中删除最后一帧。 小心,它不会停止播放本身。您必须致电ns.close();