Форум 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)
-   -   появление 3х flv роликов один за другим... (http://www.flasher.ru/forum/showthread.php?t=100029)

olyangel 17.08.2007 16:59

появление 3х flv роликов один за другим...
 
вопросик...подскажите как сделать появление 3х flv роликов один за другим без пауз и без управления?
в 1 кадре код :

Код:

var nc:NetConnection = new NetConnection();
nc.connect(null);

var ns:NetStream = new NetStream(nc);

theVideo.attachVideo(ns);

ns.play("rolik01.flv");

соответственно играет только 1 ролик, как правильно прописать остальные 2 ?

artcraft 17.08.2007 17:28

отловить момент окончания первого видеоролика и запустить проигрывание следующего
Код:

...
ns.addEventListener(NetStatusEvent.NET_STATUS, netStreamStatusHandler);
...

private function netStreamStatusHandler(e:NetStatusEvent):void {
        if (e.info.code == "NetStream.Play.Stop"){
                playNextVideo();
        }
}


etc 17.08.2007 17:28

olyangel, отредактируйте свой пост и оформите код тегами [code][/code].

olyangel 17.08.2007 17:54

Вложений: 1
**Error** Attribute used outside class.
Код:

private function netStreamStatusHandler(e:NetStatusEvent):void {
исходник прикрепила, посмотрите пожалуйста, если не трудно..;)

artcraft 17.08.2007 19:21

вероятно это потому что атрибут private использован вне класса...

я никогда не пробовал писать as3 в кадрах, без внешних классов, поэтому помочь не могу

etc 17.08.2007 19:23

Нужно отказаться от писанины в кадрах и писать код в классе.

Wolsh 18.08.2007 13:34

Имхо Вам надо отловить окончание фильма (его продолжительность записана в свойстве duration, а прошедшее время в ns.time - только на самом деле равными они не станут, надо как-то округлять ),
Код:

ns.onMetaData = function(infoObject) {
            theVideo.duration = infoObject.duration
            }

после чего очистить экран и поток (theVideo.clear(); ns.close(); ns = new NetStream(nc); ) ну и дальше плэй :)

Wolsh 18.08.2007 14:49

А кто вообще говорит про AS3 ? заблудившийся AS3 - кодер? У автора AS2! Еще и тему переместили. Теперь совсем человека заморочите. Просьба модераторам исправить.

После этого можно удалить данное сообщение.

etc 18.08.2007 14:54

Пусть автор определится с версией языка, на какой пишет, и скажет об этом нам.

Wolsh 18.08.2007 16:35

А чего определяться? Исходник же есть? Код приведенный чем-то связан с АС3? Это artcraft зачем-то приват функшн засандалил, и понеслась
Посмотри сам, как топик идет

etc 18.08.2007 18:20

Пока сам автор не скажет, на какой именно версии языка он хочет написать плеер, бессмысленно делать выводы.

artcraft 18.08.2007 20:48

да, действительно, я лопухнулся, у автора в исходнике выставлен as2, а я почему-то решил что однозначно это третий...

переносите тему обратно :~)

вот так можно сделать это в as2:
Код:

var videos:Array = ["rolik01.flv", "rolik02.flv", "rolik03.flv"];
var n:Number = 0;

var nc:NetConnection = new NetConnection();
nc.connect(null);

var ns:NetStream = new NetStream(nc);
theVideo.attachVideo(ns);

function playVideo(){
        ns.play(videos[n]);
       
        ns.onStatus = function(infoObject:Object) {       
                if(infoObject.code =="NetStream.Play.Stop" ){
                        if(n+1 == videos.length){n=0; }else{n++;}
                        playVideo();
                }
        }
}

playVideo();

Будет играть ролики из массива по кругу бесконечно,
причём роликов в массиве может быть сколько угодно.

olyangel 20.08.2007 15:54

to artcraft

спасибо огромное! :drinks:

etc 20.08.2007 18:45

artcraft, не AS2 это, ну не AS2.

artcraft 20.08.2007 20:06

да, ты совершенно пров, когда я написал там as2 я имел ввиду "не as3"

Kikasso 20.08.2007 20:28

Цитата:

Сообщение от artcraft
Будет играть ролики из массива по кругу бесконечно,
причём роликов в массиве может быть сколько угодно.

Только ролики проверьте, есть такие которые "NetStream.Play.Stop" не транслируют.


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

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