0

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

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

flex flash adobe adobe-flex actionscript

4

2 回答 2

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);
    }
}

只有此代码不会告诉您流是否已成功发布。

于 2009-02-09T06:24:28.620 回答
0

您可以深入研究 NetStatusEvent 事件。

检查此实时文档

于 2009-02-16T16:00:32.807 回答