Обнаружение, когда источник FLVPlayback плох или не найден - PullRequest
0 голосов
/ 23 сентября 2011

Я в растерянности относительно того, как определить, был ли мой экземпляр компонента 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 Ответ

2 голосов
/ 23 сентября 2011

Если вы можете, не используйте FLVPlayback, потому что он делает слишком много «волшебных» вещей за кулисами и немного глючит.По сути, это просто оболочка для класса VideoPlayer.

Если вам нужно использовать FLVPlayback, вы можете получить доступ к VideoPlayer, заключенному в FLVPlayback.getVideoPlayer, затем прослушать VideoState.STATE_CHANGE и отслеживать VideoPlayer.state.Если это VideoState.CONNECTION_ERROR, это означает, что ваш видео канал не может быть загружен или воспроизведен.

...