检测FLVPlayback源何时发现错误或未找到

时间:2011-09-23 04:56:14

标签: flash actionscript-3 flvplayback

我完全不知道如何检测我的FLVPlayback组件的实例是否已被传递给不存在的源或者由于某种原因无法播放。

我已将处理程序附加到我能想到的每个事件......具体而言......

        videoPlayer.addEventListener(VideoEvent.COMPLETE, vidEnd);
        videoPlayer.addEventListener(VideoEvent.READY, vidStart);
        videoPlayer.addEventListener(VideoEvent.PLAYHEAD_UPDATE, vidMoved);         
        videoPlayer.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);           
        videoPlayer.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);

但是当剪辑丢失或损坏时,这些都不会触发。

我也试过这个:

            try{
                videoPlayer.source = "http://localhost:18888/" + folder + "/" + nextUrl;
            }catch(e:VideoError){
                trace("http://localhost:18888/" + folder + "/" + nextUrl + " couldn't be found");
                playNextItem();
            }

但这也不起作用。我完全难过了。这样做的正确方法是什么?

TIA

1 个答案:

答案 0 :(得分:2)

如果可以,请不要使用FLVPlayback,因为它在幕后做了太多“神奇”的事情并且有点儿麻烦。它基本上只是VideoPlayer类的包装器。

如果您必须使用FLVPlayback,则可以访问使用FLVPlayback.getVideoPlayer打包的VideoPlayer,然后收听VideoState.STATE_CHANGE并监控VideoPlayer.state。如果是VideoState.CONNECTION_ERROR,则表示无法加载或播放您的视频Feed。