Просмотр полной версии : Видео и seek
Тут ковырялся подумал сделать плеер. Вот интересно, перерыл весь хелп, кроме как onMetaData , ничто не хочет нам показывать полную длину ролика! Или я плохо смотрю?
Просто если делать ползунок прокрутки для видео , явно придется отталкиваться от полной длинны ролика, а потом привязывать через seek();
Данные вроде как потоковые, откуда флешу до полной загрузки знать длину ролика?
Тут с неделю назад была тема, поищи - обсуждалось практически на днях, вывод был что только через мета-данные.
Ну если так. то каким образом можно сделать перемотку ? должно для этого что то быть!
Зашивайте в импортируемый ролик Cue Point, и используйте onMetaData.
"You can use the list of cue points provided to the onMetaData() event handler to let your user start playing the video at predefined points along the video stream. Pass the value of the cue point's time property to the NetStream.seek() method to play the video from that cue point."
Была тут тема, надо было при достижении конца проигрываемого фильма совершить перемотку, автору топика CuePoint, зашитая в последний кадр FLV, в этом помогла. А вам нужно попробовать наобороот, с помощью onMetaData получить эту точку и сделать туда seek().
Хотя конечно, это только перемотка в конец, а вот как сделать навигацию по всему потковому ролику - тут надо подумать (только это изобретение велосипеда, наверное..)
Ну почему изобретение велосипеда! Свой плеер есть свой плеер со своим дизайном и функциями. Вот вы говорите про Cue Point. Ok . Гружу потоково я видео - догрузилось оно до конца - а значит должна где то написаться его длина! Через onMetaData показывается много информации очень много а не 1 duration . По этому вернуть этот параметр не выйдет. Я пошныгал по гуглу, там ребята про AS3 этот вопрос обсуждают. так ТАМ целый класс пишется чтобы узнать длину ролика. Помоему это перебор уже!
Добавлено через 1 минуту
Да и кстати, проверять то я проверяю НЕ в сети, а при тесте в fla , а значит видео УЖЕ прогружено заранее. Так что надо как то придумать((( даже не знаю что....
Потестирую-ка использование Cue Point для этих целей.
Добавлено через 17 минут
Если готовим файл flv для плеера, то можно на первом кадре вшить Cue Point и в ее параметре руками прописать длину ролика в любых еденицах.. и вообще, любой набор данных - и напрочь обойтись без MetaData.
Пока еще разбираюсь, как дальше сделать с длиной ползунка и прочим.
Интересно что выйдет. Попробуем тогда потом все это в класс пихнуть
Данные о длине, названии, любые данные словом, получилось взять из первого кадра. Двигаюсь дальше, сейчас с прогресс-баром вожусь.
Руками вписал в параметры Cue Point на 0-й секунде при импорте в FLV.
Я предполагаю, что ролик импортируется по утвержденному алгоритму.
Не то?
in4core и Через onMetaData всё хорошо получается. Do you speak English?
Если лазить по аглицким сайтам, то там много рассказывают, не скрывая...
А тут на форуме видео можно выложить? я хотел, но видимо габариты не позволяють...
in4core, если вам нужен файл... напишите мне на почту... подписавшись так - ХОЧУ УРОК С ВИДЕО
Надеюсь, что я не забуду и пойму кто это :quiet: и главное, чтоб меня не завалили просьбами... вдруг кто-то представится вместо Вас и я потом буду в смятении :wacko:
Моя почта: rollfield@mail.ru
Прогресс-бар работает, осталось его сделать активным, чтобы перемотка работала куда нужно.
Вот видеоплеер в аттачментах. Немного "баговато" - не точно на нужную секунду ползунком попасть можно, но я грешу на небольшой размер ролика, из-за чего общая длина маленькая (13 сек). Ну и по мелочи еще не все гладко - навигация с кнопок не совсем стандартная. Но хотелось просто проверить использхование Cue Point для получения произвольных данных от ролика. На больших роликах не проверял.
При импорте avi выбираем "Progressive download...", и получаем после всех действий файл FLV.
Внедрение Cue Point:
http://pic.************/uploads/090811/H7yKIt805U.jpg (http://************/)
Даже не знаю. Может и то. Ну если выйдет ползунок то просто Grace~! вам. Я лично не смог додуматься
Добавлено через 3 минуты
Mooncar - извиняюсь может я сразу и не сказал. Видео у меня не энкодированное и не вгружается в ролик. Оно ПОДГРУЖАЕТСЯ из внешнего файла.
Щас исходник положу на всяк случай. кнопки навигации все рабочие кстати.
Добавлено через 17 минут
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
myVideo.attachVideo(ns);
var _arr:Array = [];
var xml:XML = new XML();
xml.ignoreWhite = true;
xml.onLoad = function() {
for(var i=0; i < xml.firstChild.childNodes.length; ++i) {
_arr.push(xml.firstChild.childNodes[i].attributes.url);
var newy:Number = i*(a._height+2);
var mc = a.duplicateMovieClip( "a" + i, i,{_y:newy}); // создаем лист видях
_root[ "a" +i ].ID = i;
_root[ "a" +i ].onRelease = function() { ns.play(_arr[ID]); } // при нажатии на кнопку листа загружаем нужную видео
}
}
stop_btn.onRelease = function() {
ns.pause(true);
ns.seek(0);
}
pause_btn.onRelease = function() {
if(ns.time > 0) { ns.pause(); }
}
play_btn.onRelease = function() {
ns.pause(false);
}
Вот код, исходник нет смысла выкладывать потому что там квадрат и 3 кнопки) такой у всех есть. А вот код, выложил.
Добавлено через 20 минут
Да кое какие строчки кода писал находу, а именно создание листа. Писал прям тут без проверки. может где ошибся. Ну думаю не это важно
Так и у меня подгружается - там же строка в начале, задающая URL.
Посмотрите видеоплеер, ползунок я там организовал - работает.
Плейлист-эдитор я на задавался целью делать, но у вас он реализован, думаю.
Делал недавно для одного проекта плейлист, но только не на основе XML, а на основе простых текстовых файлов. (Пока с XML не дружу). Было нужно уметь редактировать плей-лист с помощью PHP.
Код ваш посмотрю, правда сейчас несколько загружен.
Ок поглядим исходник. спасибо. отпишу если что
Да, плеер сырой, на больших файлах проблемы есть...
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.