获取VideoDisplay控件的实时流的状态

时间:2009-02-09 02:41:12

标签: flex flash actionscript-3 actionscript adobe

我正在寻找一种通过VideoDisplay(或任何其他方法)来查找直播流状态的方法。我很想知道当前是否正在发布流,或者发布者是否已停止。这适用于Flex / Flash ActionScript 3项目。

有没有办法做到这一点,还是adobe的另一个疏忽?

flex flash adobe adobe-flex actionscript

2 个答案:

答案 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