Хемуль
18.07.2008, 20:47
Попользовался поиском, но то ли слова ключевые не подобрал как следует, либо нет темы соответствующей, но вот, создал свою. Если тема такая уже есть, не обессудьте.
Речь пойдёт о вещи в принципе избитой - создании видео-плеера, а в частности о "живой" прокрутке ролика с помощью бегунка. Есть задача - сделать что-то вроде маленького видео-плеера в рамках одного Flex-приложения. Хотелось бы "живую" прокрутку с обновлением позиции проигрывающей головки плеера в реальном времени, но не получается сделать это нормально. Плееры на разных видео-порталах работают отлично, а у меня выходят какие-то "тормоза".
На смену позиции бегунка слайдера повесил событие:
private function scrubVideo(event:SliderEvent):void
{
if (videoPlayer.state != VideoEvent.SEEKING)
{
videoPlayer.playheadTime = event.value;
}
}
Естественно, установил для слайдера live dragging. Без проверки videoPlayer.state плеер вообще ужасно глючит, а с проверкой при драге бегунка обновление позиции проигрывающей головки происходит очень даже не сразу - перевёл бегунок, а кадр видео обновился через пару секунд. Видео кодировал, выставляя ключевой кадр через каждые 10 кадров, брал чужое видео с видео-порталов, но не могу добиться той плавности, которую можно наблюдать в их плеерах. Понимаю головой, что есть какая-то хитрая мелочь, которую я не знаю, но статей по этому поводу тоже нормально нагуглить не смог. Подскажите, пожалуйста, чего я не знаю и в чём заключается проблема?
Речь пойдёт о вещи в принципе избитой - создании видео-плеера, а в частности о "живой" прокрутке ролика с помощью бегунка. Есть задача - сделать что-то вроде маленького видео-плеера в рамках одного Flex-приложения. Хотелось бы "живую" прокрутку с обновлением позиции проигрывающей головки плеера в реальном времени, но не получается сделать это нормально. Плееры на разных видео-порталах работают отлично, а у меня выходят какие-то "тормоза".
На смену позиции бегунка слайдера повесил событие:
private function scrubVideo(event:SliderEvent):void
{
if (videoPlayer.state != VideoEvent.SEEKING)
{
videoPlayer.playheadTime = event.value;
}
}
Естественно, установил для слайдера live dragging. Без проверки videoPlayer.state плеер вообще ужасно глючит, а с проверкой при драге бегунка обновление позиции проигрывающей головки происходит очень даже не сразу - перевёл бегунок, а кадр видео обновился через пару секунд. Видео кодировал, выставляя ключевой кадр через каждые 10 кадров, брал чужое видео с видео-порталов, но не могу добиться той плавности, которую можно наблюдать в их плеерах. Понимаю головой, что есть какая-то хитрая мелочь, которую я не знаю, но статей по этому поводу тоже нормально нагуглить не смог. Подскажите, пожалуйста, чего я не знаю и в чём заключается проблема?