Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   [...] Загрузка видео с YouTube после проигрывания мувиклипа (http://www.flasher.ru/forum/showthread.php?t=193981)

мимокрокодил 05.02.2013 19:02

Загрузка видео с YouTube после проигрывания мувиклипа
 
доброго времени
не подскажете как разобраться с такой проблемой - есть такой код:
Код AS3:

System.security.allowDomain("http://www.youtube.com");
System.security.loadPolicyFile("http://www.youtube.com/crossdomain.xml");
 
this.createEmptyMovieClip("video_mc",10);
var mcl:MovieClipLoader = new MovieClipLoader();
var listener:Object = new Object();
listener.onLoadStart = function() {trace("started");};
listener.onLoadInit = function(mc:MovieClip) {
    _root.resizeInt = setInterval(adjustVideo, 10, mc, mc._width, {/*w:6400, h:4300,*/x:0, y:0});
};
listener.onLoadError = function() {trace("error");};
mcl.addListener(listener);
mcl.loadClip("http://www.youtube.com/v/5ap13mTwCt4",video_mc);
 
 
function adjustVideo(vid:MovieClip, initW:Number, finalValues:Object) {
    if (initW != vid._width) {
        clearInterval(_root.resizeInt);
        delete _root.resizeInt;
        vid._width = finalValues.w;
        vid._height = finalValues.h;
        vid._x = finalValues.x;
        vid._y = finalValues.y;
    }
}
 
stop_btn.onRelease = function() {
        mv1.gotoAndPlay(1);
        video_mc.destroy ();
    video_mc.unloadMovie ();
    video_mc.removeMovieClip ();
 
        delete video_mc;
        play.mv();
 
}

и он работает..

а как сделать рабочую версию этого:

Код AS3:

sd.addEventListener(MouseEvent.CLICK, go);
function go(evt:MouseEvent):void
{
mv.gotoAndPlay(5);

и уже после проигрывания mv запускать функцию загрузки youtube api?

во флеше пока делаю только первые шаги и не знаю что к чему ..

Zebestov 05.02.2013 20:42

Необходимо оформить код соответствующими тегами (кнопка AS3 в панели редактора сообщений).

dark256 06.02.2013 12:01

Код AS1/AS2:

sd.onRelease = function(){
      mv.gotoAndPlay(5);
mv.onEnterFrame = function(){
  if ( this._currentframe >= this._totalframes ) {
        this.stop();
        delete this.onEnterFrame ;
        // Запускаем то, что мы там запускаем уже себе
  }
}
}


Zebestov 06.02.2013 12:16

Цитата:

Сообщение от мимокрокодил (Сообщение 1119289)
во флеше пока делаю только первые шаги и не знаю что к чему

Небольшой оффтоп, но все же. Для первых шагов во Flash выбор ActionScript 2.0 совершенно не оправдан, даже ошибочен. Язык морально устарел и до сих пор жив главным образом ради поддержки старых проектов. Если уже учить Flash с нуля, то безусловно лучше осваивать ActionScript 3.0

мимокрокодил 06.02.2013 15:41

Вложений: 1
Цитата:

Сообщение от Zebestov (Сообщение 1119363)
первых шагов во Flash выбор ActionScript 2.0 совершенно не оправдан, даже ошибочен

Пока вы мне не сказали, я и не знал, что это не AS3. Ведь все когда то делают первые шаги..
Но так или иначе, код хоть и не выдает ошибок, все равно работает не так как надо ((
Спасибо что решились помочь, а то руки опускаются (
Ролик подгружается сразу при включении клипа, а должен подгружатся при нажатии на кнопку и анимация движения не запускается которая должна идти до загрузки youtube api голова уже кругом
а я что то совсем не то делаю и вообще запутался (

файл проект CS 5.5
вроде сделал )

Zebestov 06.02.2013 16:00

Лучше прикрепить файл к сообщению (скрепочка в панели редактора).

mooncar 06.02.2013 16:04

Цитата:

Сообщение от мимокрокодил (Сообщение 1119397)
а как ссылки прикреплять на форум? или тут по правилам нельзя?

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

dark256 06.02.2013 16:43

А что так CS5.5. ? Давайте уже в 6-ке. Или в 7-ке сразу.
У большинства CS3 стоит, чего и вам рекомендую.

мимокрокодил 06.02.2013 17:08

Цитата:

Сообщение от dark256 (Сообщение 1119411)
А что так CS5.5. ? Давайте уже в 6-ке. Или в 7-ке сразу.
У большинства CS3 стоит, чего и вам рекомендую.

ну откудаж мне знать что лучше что хуже когда я во всем этом только разбираюсь?
фотошоп как был цс2 так им и пользуюсь.. а с flash не работал никогда
кстате большое спасибо что уже помогли от кучи ошибок избавиться которые мне компилятор на выходе выдавал
Код AS3:

sd.onRelease = function(){
      mv.gotoAndPlay();
mv.onEnterFrame = function(){
  if ( this._currentframe >= this._totalframes ) {
        this.stop();
        delete this.onEnterFrame ;
        // Запускаем то, что мы там запускаем уже себе
  }
}
}
 
//sd.addEventListener(MouseEvent.CLICK, click2);
//function click2(Event:MouseEvent):void
//{
        //mv.gotoAndPlay(0);
        //if ( this._currentframe >= this._totalframes )
        //{
      //  this.stop();
        //delete this.onEnterFrame ;
//}
 
System.security.allowDomain("http://www.youtube.com");
System.security.loadPolicyFile("http://www.youtube.com/crossdomain.xml");
 
this.createEmptyMovieClip("video_mc",10);
var mcl:MovieClipLoader = new MovieClipLoader();
var listener:Object = new Object();
listener.onLoadStart = function() {trace("started");};
listener.onLoadInit = function(mc:MovieClip) {
    _root.resizeInt = setInterval(adjustVideo, 10, mc, mc._width, {/*w:6400, h:4300,*/x:0, y:0});
};
listener.onLoadError = function() {trace("error");};
mcl.addListener(listener);
mcl.loadClip("http://www.youtube.com/v/5ap13mTwCt4",video_mc);
 
 
function adjustVideo(vid:MovieClip, initW:Number, finalValues:Object) {
    if (initW != vid._width) {
        clearInterval(_root.resizeInt);
        delete _root.resizeInt;
        vid._width = finalValues.w;
        vid._height = finalValues.h;
        vid._x = finalValues.x;
        vid._y = finalValues.y;
    }
}
 
stop_btn.onRelease = function() {
        mv1.gotoAndPlay(1)
        video_mc.destroy ()
    video_mc.unloadMovie ()
    video_mc.removeMovieClip ()
 
        delete video_mc;
        play.mv();
  }

по идее должно быть так: голубая кнопка запускает мувиклип который под плеером, после чего загружаеться уже сам плеер, а серая кнопка снизу выключает ютуб и запускает все тот же мувиклип но уже в с другого кадра
ссылка на флешку : http:// megaswf .com/s/2554784
зачем прям так накидываться на человека если я чего то не знаю?
есть куча народу которая пользуеться руссифицированным фотошопом например хотя я этого не понимаю )
а почему у вас у всех CS 3?

мимокрокодил 26.02.2013 18:13

если кому интересно то вот код который работает в as3:
Код AS3:

play();
Security.allowDomain("www.youtube.com");
Security.allowDomain("i.ytimg.com");
Security.allowDomain("s.ytimg.com");
Security.allowDomain("youtube.com");
Security.allowDomain("s2.youtube.com");
//LOAD PLAYER
var my_player1:Object;
 
var my_loader1:Loader = new Loader();
my_loader1.load(new URLRequest("http://www.youtube.com/v/tYgnZU2HkiI?version=3"));
my_loader1.contentLoaderInfo.addEventListener(Event.INIT, onLoaderInit);
 
function onLoaderInit(e:Event):void{
addChild(my_loader1);
my_player1.addChild(my_loader1);
my_player1 = my_loader1.content;
my_player1.addEventListener("onReady", onPlayerReady);
}
//эти строчки работали с более ранней версией плеера, сейчас через такую запись размер задать не удается
function onPlayerReady(e:Event):void{
my_player1.setSize(0,0);
my_player1.x = 0.0;
my_player1.y = 0.0;
my_player1.cueVideoById("",0);
}
 
stop();
 
cbtn.addEventListener(MouseEvent.CLICK,onNext2);
function onNext2(event:MouseEvent)
{
my_loader1.contentLoaderInfo.removeEventListener(Event.INIT, onLoaderInit);
my_loader1.content.removeEventListener("onReady", onPlayerReady);
my_loader1.unloadAndStop();
my_player1.stopVideo();
my_player1.destroy();
//gotoAndStop(0);
//nextframe();
}

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


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

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