我完全不知道如何检测我的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
答案 0 :(得分:2)
如果可以,请不要使用FLVPlayback,因为它在幕后做了太多“神奇”的事情并且有点儿麻烦。它基本上只是VideoPlayer
类的包装器。
如果您必须使用FLVPlayback,则可以访问使用FLVPlayback.getVideoPlayer
打包的VideoPlayer,然后收听VideoState.STATE_CHANGE
并监控VideoPlayer.state
。如果是VideoState.CONNECTION_ERROR
,则表示无法加载或播放您的视频Feed。