Обнаружение, когда источник 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();
            }

Но это тоже не работает. Я совершенно озадачен. Как правильно это сделать?

ТИА


person Yevgeny Simkin    schedule 23.09.2011    source источник


Ответы (1)


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

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

person laurent    schedule 23.09.2011