Скребок флэш-плеера, перетаскивающий заполняющий индикатор выполнения - PullRequest
0 голосов
/ 28 января 2009

Я пытаюсь устранить неполадки в скруббере для пользовательского видеоплеера, и я сталкиваюсь с проблемой, когда скруббер перетаскивается после заполнения индикатора выполнения, если flv еще не загружен полностью.

Игрок здесь: http://mindfilemultimedia.com/stage/portfolio.html

Если вы воспроизведете видео, вы увидите, что пока flv все еще загружается, когда вы перемещаете скруббер за желтую полосу прогресса в белую часть строки, видеопроигрыватель останавливается. Это происходит потому, что пользователь говорит искать часть видео, которая еще не была полностью загружена. То, что я хочу сделать, это определить, загружается ли flv, и ограничить пользователя только возможностью перетаскивать скруббер до ширины желтого индикатора выполнения. Сейчас я установил код для извлечения bytesLoaded и bytesTotal, и я хочу сказать что-то вроде (в ActionScript 3):

if (videoPlayer.bytesLoaded < videoPlayer.bytesTotal) {
    var newBounds:Rectangle = new Rectangle(0, 0, (videoPlayer.bytesLoaded/videoPlayer.bytesTotal) * MovieClip(root).SeekBar.SeekProgressBar.width, 0);
    MovieClip(root).SeekBar.SeekBarHandle.startDrag(false, newBounds);
}

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

1 Ответ

0 голосов
/ 28 января 2009

Где вы положили этот код? Его нужно положить куда-нибудь, где он регулярно обновляется. В зависимости от того, какой тип видеопроигрывателя вы используете, вы можете видеть, какие события он отправляет, и использовать прослушиватель событий, чтобы регулярно проверять объем буферизации. Вы также можете использовать событие ввода фрейма, хотя вам необходимо убедиться, что вы прекратили прослушивание после завершения буфера, поскольку это добавило бы дополнительные издержки на каждый кадр.

В качестве дополнительного примечания SeekBar и SeekBarHandle, вероятно, должны быть соответственно seekBar и seekBarHandle, так как это стандартная практика начинать имена экземпляров со строчной буквы в ActionScript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...