Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Полоса прогресса для видеоплеера (http://www.flasher.ru/forum/showthread.php?t=162480)

fifa_sibir 01.08.2011 21:52

Полоса прогресса для видеоплеера
 
Уже который день ломаю голову над полосой прогресса для видеоплеера. Делаю через класс NetStream, взяла формулу из урока создания мп3 плеера и все равно никак не получается(

Код AS3:

this.progress_mc.progressfill_mc.x = -200;
addEventListener(Event.ENTER_FRAME, Progress);
function Progress(e:Event):void{
 progress_mc.progressfill.x = Math.round(200*((ns.time*1000)/(ns.bufferLength*1000)))-200;
}

подскажите пожалуйста что я делаю неправильно? буду очень благодарна за помощь

Wolsh 01.08.2011 22:10

fifa_sibir, для оформления своего кода надо использовать теги [as3][/as3]

Добавлено через 2 минуты
progress_mc.progressfill_mc.x
progress_mc.progressfill.x

tsarapkabel 02.08.2011 00:45

Что такое ns? Тут бы кода поболе...
Графически прогресс вычисляется как Math.round отношения VideoStream NetStream.time (текущее время) к Metadata.duration (общая длительность), умноженное на 100.

Upd: Хотя если судить по наличию в коде 'bufferLength', ты хочешь получить степень буферизации?
Тогда bufferLength надо разделить на bufferTime, а bytesLoaded разделить на bytesTotal.

fifa_sibir 02.08.2011 11:15

ns - это объект NetStream. Вот в чем моя проблема.. я даже и не догадывалась о существовании классов VideoStream и Metadata... попробовала импортировать эти классы в код, компилятор выдает ошибку что таких классов не существует, а в справочнике они есть. это какой-то плагин для флеш установить нужно?

tsarapkabel 02.08.2011 12:36

Это я неправильно написал. NetStream.time — положение проигрывающей головки в данный момент.
А Metadata вызывается через создание доп. объекта обратной связи. Вот в теме приведено несколько вариантов.

fifa_sibir 02.08.2011 18:11

tsarapkabel, Спасибо за тему очень помогла

Теперь другая проблема: делаю прослушиватель для пролосы прогресса и выдает ошибку - 1137 Неправильное количество аргументов. Ожидается не более 0. что бы это могло значить?

Код AS3:

progress_mc.addEventListener(MouseEvent.CLICK, progressFunction);
function progressFunction(e:MouseEvent):void{
        ns.pause();
        ns.resume(durat*e.currentTarget.mouseX/200);
 
}

durat - объект duration

tsarapkabel 02.08.2011 18:39

Ошибка потому что NetStream.resume не принимает в себя параметры и вызывается просто
Код AS3:

ns.resume();

. Для перемотки используется NetStream.seek(offset), в который передаётся необходимая секунда.

fifa_sibir 02.08.2011 20:28

Огромнейшее спасибо! Все наконец заработало!!))))) без Вас я бы никогда не справилась

tsarapkabel 02.08.2011 21:24

Не за что. :victory:


Часовой пояс GMT +4, время: 03:51.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.