如何在LIVE NetStream上捕获StreamNotFound?

时间:2011-11-29 20:11:28

标签: flash flex streaming flash-media-server

我有一个FLEX应用程序,当我执行NetStream.play()时,我需要知道FMS上的LIVE流是否存在; 例如:

var stream = new NetStream(nc);
stream.play("streamnotexists");

如何在游戏中选择错误如何尝试播放不存在的错误?

2 个答案:

答案 0 :(得分:-1)

您需要在netstream上编写一个侦听器函数,用于状态类型事件。作为状态,您可以获得 NetStream.Play.StreamNotFound 。 有关详细信息,请参阅thisthis

答案 1 :(得分:-1)

您应该为NetStream对象添加一个侦听器,如下所示:

stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);

其中netStatusHandler是:

function netStatusHandler(event:NetStatusEvent):void {
            switch (event.info.code) {
                // some other cases
                case "NetStream.Play.StreamNotFound":
                    trace("Unable to locate vod stream: " + videoURL);
                    break;
                case "NetStream.Play.UnpublishNotify":
                    trace("Unable to locate live stream: "+ videoURL);
                // rest of the cases, default, etc
            }
        }

可以在此处找到event.info.code的完整列表:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/events/NetStatusEvent.html但请注意,只有NetStream.中开头的事件才会被NetStream对象触发。