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