Форум 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=147964)

Cornelius 18.12.2010 03:54

Один видеоролик после другого
 
Ребят, не подскажете как решить эту проблему?!
Во флеше я профан, поэтому стараюсь просто пользоваться шаблонами из уроков.

Для подачи видео на сайте я использовал подобный код:
Код AS3:

var mySound:SoundTransform;
var video:Video;
var connect_nc:NetConnection = new NetConnection();
 
connect_nc.connect(null);
var stream_ns:NetStream = new NetStream(connect_nc);
stream_ns.client = this;
 
function netStatusHandler(p_evt:NetStatusEvent):void
{
        if (p_evt.info.code == "NetStream.FileStructureInvalid")
        {
                trace("The MP4's file structure is invalid.");
        }
        else if (p_evt.info.code == "NetStream.NoSupportedTrackFound")
        {
                trace("The MP4 doesn'
t contain any supported tracks");
        }
}
function onMetaData(p_info:Object):void
{
        for (var propName:String in p_info)
        {
                output_txt.appendText(propName + " = " + p_info[propName] + "\n");
        }
        video.width = p_info.width;
        video.height = p_info.height;
}
 
 
stream_ns.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
 
video = new Video();
video.x = 0;
video.y = 0;
addChild(video);
video.attachNetStream(stream_ns);
stream_ns.play("vid.mp4");
 
mySound = stream_ns.soundTransform;
mySound.volume = .5;
stream_ns.soundTransform = mySound;

Видео проигрывается без проблем. Но вот не могу понять, что нужно прописать в коде, чтобы, когда флеш доиграл это видео, он начал проигрывать следующее с другим названием.

Понимаю, что для местных профи вопрос банален. Но мне придется перерыть кучу уроков, чтобы добраться до решения вопроса. Пытался найти сам, но тут нужны неплохие познания классов и кода AS3.
Поэтому надеюсь на вашу помощь. Спасибо заранее!

mikhailk 18.12.2010 12:06

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

Класс Video использовать можно, но лучше взять FLVPlayback, с ним проще работать
http://help.adobe.com/ru_RU/AS3LCR/F...VPlayback.html

gloomyBrain 18.12.2010 13:49

Цитата:

Класс Video использовать можно, но лучше взять FLVPlayback, с ним проще работать
А я бы на OSMF делал - там возможность проигрывания видео (да чего угодно) последовательно делается на раз-два. Если что - читать тут

mikhailk 18.12.2010 18:57

Да, занятная штука.
Интересно, а фриварные такие есть?

gloomyBrain 18.12.2010 19:01

Вы сейчас о чем? Это ж опен-сорс =)

mikhailk 18.12.2010 19:22

про это: http://www.osmfappstudio.com/

gloomyBrain 18.12.2010 20:09

Ну не знаю. Я для себя в этом смысла не нашел. Ибо и так (используя только osmf и редактор кода) плеер собирается за 2 часа со всеми наворотами, какие только можно придумать.

mikhailk 18.12.2010 21:46

ну, за 2 часа он и из FLVPlayback собирается. :)
а если взять один из штатных скинов, до и за 10 минут.

но все равно интересно, что есть там, чего нет в FLVPlayback?

random13 12.01.2011 15:56

возник вопрос: что бы последовательно проиграть несколько роликов их нужно добавить в SerialElement или я не правиль понял? (это я имею ввиду OSMF)

cleptoman 12.01.2011 20:31

если обычным NetStream и Video, то подписать стрим на NetStatusEvent, дождаться в хендлере статуса конца ролика, затулить из массива следующий ролик и наслаждаться

Serge09 11.08.2011 02:23

Повтор ролика
 
Здравствуйте. Прошу вашей помощи. Есть такой код:

Код AS3:

stopbtn.buttonMode = true;
stopbtn.visible = false;
my_FLVPlybk.autoRewind = true;
 
my_FLVPlybk.source = "http://site.ru/rolik1.flv";
my_FLVPlybk.addEventListener(VideoEvent.COMPLETE, complete_listener);
function complete_listener(eventObject:VideoEvent):void {
    if (my_FLVPlybk.source == "http://site.ru/rolik1.flv") {
        my_FLVPlybk.play("http://bsite.ru/rolik2.flv");
                stopbtn.visible = true;
                stopbtn.addEventListener(MouseEvent.CLICK, play3rolik);
                function play3rolik(event:MouseEvent):void
                {
                        my_FLVPlybk.play("site.ru/rolik3.flv");
                        stopbtn.visible = false;
                }
    }
 
        if (my_FLVPlybk.source == "http://site.ru/rolik3.flv") {
        my_FLVPlybk.play("http://site.ru/rolik4.flv");
 
    }
}

Как сделать так, чтобы ролики 2 и 4 проигрывались по кругу бесконечно? Спасибо.


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

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