我正在寻找一种通过VideoDisplay(或任何其他方法)来查找直播流状态的方法。我很想知道当前是否正在发布流,或者发布者是否已停止。这适用于Flex / Flash ActionScript 3项目。
有没有办法做到这一点,还是adobe的另一个疏忽?
flex flash adobe adobe-flex actionscript
答案 0 :(得分:0)
我只找到了一个解决方案,那就是将NetStream对象与视频控件结合使用。
必须手动将视频控件添加到
nsListen = new NetStream(nc);
nsListen.addEventListener(NetStatusEvent.NET_STATUS, nsListenHandler);
nsListen.play(streamname);
var v:Video = new Video();
v.attachStream(nsListen);
uicontrol.add(v);
最后,在nsListenHandler中返回事件状态:
private function nsListenHandler(e:Event):void
{
if(e is NetStatusEvent)
{
var nse:NetStatusEvent = NetStatusEvent(e);
if(nse.info.code == "NetStream.Play.Failed")
{
// Big error.
}
if(nse.info.code == "NetStream.Play.PublishNotify")
{
// Stream has just been published
}
if(nse.info.code == "NetStream.Play.UnpublishNotify")
{
// Stream has just been unpublished
}
trace(NetStatusEvent(e).info.code);
trace(NetStatusEvent(e).info.description);
}
}
只有这段代码不会告诉您流是否已成功发布到。
答案 1 :(得分:0)
您可以深入了解NetStatusEvent事件。
选中此live docs