Интервал воспроизведения в режиме воспроизведения FLV в миллисекундах, т. Е. Поиск без ключевого кадра - PullRequest
0 голосов
/ 23 марта 2011

У меня проблемы с отловом событий обновления заголовка в миллисекундном диапазоне.Это касается воспроизведения FLV загруженного FLV-фильма.Согласно документам, функция seek () ищет ключевые кадры, для ввода данных требуется время с точностью до миллисекунд.у меня есть функция, называемая следующим кадром, в которой я приостанавливаю видео и пытаюсь найти заданное время воспроизведения

    function onNextFrame(event:Event)
    {
        if (video1.playing)
        {
            video1.stop();
        }
        playHeadTime=Number(playHeadTime.toFixed(2));
        trace("Calling nextFrame :::",playHeadTime);
        trace(" Before seek ",video1.playheadTime);
        video1.seek(playHeadTime);
        playHeadTime +=  0.1;
    }

У меня также есть событие поиска, которое обновляется не для каждого поиска, а только при возникновенииключевой кадр в видео FLV

function onseeked(event:Event)
        {
            trace("seeked",video1.playheadTime);
        }

У меня также есть событие обновления точки воспроизведения для отслеживания движения точки воспроизведения, но оно не обновляется при использовании функции следующего кадра.он работает только тогда, когда видео воспроизводится нормально.

video1.playheadUpdateInterval = 30;
video1.seekToPrevOffset = 0.01;
video1.addEventListener(VideoEvent.SEEKED,onseeked);
video1.addEventListener(VideoEvent.PLAYHEAD_UPDATE,onPlayHeadUpdate);
function onseeked(event:Event)
        {
            trace("seeked",video1.playheadTime);
        }

У меня вопрос

  • Как мне обновить точку воспроизведения с точностью до миллисекунд, когда видео останавливается / останавливается и ищет время.
  • Как я могу обновить точку воспроизведения в первую очередь, когда поиск работает только на ключевом кадре.Как мне получить время поиска без ключевого кадра?

Соответствующее обсуждение этого вопроса, которое также не дает никакого решения:

Как перейти к не-keyframe в проигрывателе FLV


Обновление: даже при использовании netstream.seek () каждый последующий вызов функции не показывает изменения в video.playheadtime. Он работает так же, какvideo.seek ().

video.playheadtime=0.1

Этот тип назначения также не работает при изменении / обновлении свойства точки воспроизведения.

Как мы можем добиться быстрой перемотки вперед / назаддействие

1 Ответ

0 голосов
/ 23 марта 2011

проверить, имеет ли метаданные flv canseekontime = falseтакже проверьте, работает ли NetStream.seek(12.222/*milliseconds/1000*/) для того же FLV

...