Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Программное управление flv (http://www.flasher.ru/forum/showthread.php?t=122153)

Fox M. Lurde 03.03.2009 19:09

Программное управление flv
 
Доброго времени суток!

Господа, подскажите пожалуйста. Импортирую FLV в проект (Flash CS4). Флэш подставляет свой компонент для управления видео. Каким образом можно отследить, что видео доиграло до конца? И кстати, можно ли изменить внешний вид панели управления видео на свой?

scarbo 03.03.2009 19:30

написать свой видео-плеер,
Цитата:

что видео доиграло до конца
сравнивать time и duration

Fox M. Lurde 04.03.2009 09:42

Допустим, сравнивать. Но как их получить? У меня в проекте импортрованный flv. Нет никаких instanceName и тому подобного (при импорте флэш не запрашивал, а после импорта непонятно, куда смотреть). Т.е. как в таком случае обратиться к flv? И в каком разделе справочника, если что, можно об этом почитать?

lexa2000lexa 04.03.2009 11:50

код их хелпа
Код AS1/AS2:

Код в нижеследующем примере проигрывает файл myVideo.flv, хранимый в той же директории, что и SWF file.
 
var my_video:Video; // my_video есть объект Video на Сцене
var my_nc:NetConnection = new NetConnection();
my_nc.connect(null);
var my_ns:NetStream = new NetStream(my_nc);
my_video.attachVideo(my_ns);
my_ns.play("video1.flv");


Fox M. Lurde 04.03.2009 13:30

Звук идет, картинки не видно. Это нормально?
my_ns.bytesTotal и my_ns.bytesLoaded возвращают 0.

Добавлено через 22 часа 40 минут
Решил проблему следующим образом:
1)импортировал видео инструментами flash
2)определил длину фильма в миллисекундах
3)поставил таймер отсчета. когда время (времяСтарта+протяженностьФильма) становятся равны либо меньше текущего времени, делаю переход на следующий кадр.

Но это - как-то криво и неудобно. Как это сделать более изящно и гибко?

jack_the_ripper 13.06.2009 00:17

У класса Net Stream есть хэндлер onStatus(), c помощью которого можно отследить начало воспроизведения, остановку, полный или пустой буфер. Почитайте в хелпе, там должны быть примеры.

Seich 30.12.2009 18:19

Цитата:

Сообщение от Fox M. Lurde (Сообщение 802940)
Звук идет, картинки не видно. Это нормально?
my_ns.bytesTotal и my_ns.bytesLoaded возвращают 0.

Добавлено через 22 часа 40 минут
Решил проблему следующим образом:
1)импортировал видео инструментами flash
2)определил длину фильма в миллисекундах
3)поставил таймер отсчета. когда время (времяСтарта+протяженностьФильма) становятся равны либо меньше текущего времени, делаю переход на следующий кадр.

Но это - как-то криво и неудобно. Как это сделать более изящно и гибко?

Видео нету, потому что ты на сцену не положил Видео объект. Его ищи в библиотеке (Library -> New Video...). Перетаскивай этот объект на сцену и дай ему instance name - my_video.
Теперь код:
Код AS1/AS2:

var my_video:Video;// my_video is a Video object on the Stage
var my_nc:NetConnection = new NetConnection();
my_nc.connect(null);
var my_ns:NetStream = new NetStream(my_nc);
my_video.attachVideo(my_ns);
my_ns.play("intro.flv");
//
my_ns.onStatus = function(info:Object) {
        switch (info.code) {
                case "NetStream.Play.Stop" :
                        //тут видео доиграло -> делай чтото:
                        //my_ns.play("intro.flv"); //-проиграть ролик заново
                        //gotoAndPlay(2); //-или идти на фрейм X
                        break;
        }
};
//
stop();



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

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