Компонент FLVPlayback зависает при поиске за пределами загруженного контента

Я создаю видеоплеер на основе flex, используя компонент FLVPlayback (импортированный из Flash Pro CS3). Я перенастроил все элементы управления плеером и связал их, и все работает очень хорошо...

Однако, если вы попытаетесь выполнить поиск за пределами точки загрузки видео (используется прогрессивная загрузка), оно полностью зависнет. Вы больше не можете останавливаться, играть, искать в другом месте или что-то еще. Я понимаю, что на самом деле это не может воспроизвести точку в видео, которое не было загружено, но все это, похоже, просто перестает отвечать. Интерфейс и другие элементы все еще работают, поэтому он не разбил весь Flash Player, только компонент FLVPlayback.

Есть идеи?

1 ответ

Решение

Поэтому я отказался от попыток заставить работать обработчик поиска, встроенный в оболочку seekbar, и написал свой собственный обработчик щелчков, который проверяет, сколько загружено, и если вы пытаетесь щелкнуть дальше загруженной точки, он просто прыгает до загруженной пункт:

private function seekHandler(e:MouseEvent):void{
    if(video.source){
        var seekto:Number = (e.stageX-seekBar.x)/seekBar.width *100;
        var loaded:Number = (video.bytesLoaded/video.bytesTotal)*100;
        if(seekto > loaded){
            seekto = loaded-0.5;
        }
        video.seekPercent(seekto);
    }
}

Было бы хорошо, если бы это было исправлено в будущих версиях компонента FLVPlayback.

Другие вопросы по тегам