Как загрузить SWF-файл с обработчиками событий в AS3? - PullRequest
0 голосов
/ 11 сентября 2010
stop();

var nc:NetConnection = new NetConnection(); 
nc.connect(null); 
var ns:NetStream = new NetStream(nc); 
var listener:Object = new Object(); 
listener.onMetaData = function(md:Object):void{}; 

listener.onPlayStatus = function(info : Object) : void {
    trace("onPlayStatus:" +info.code + " " + info.duration);
    if (info.code == "NetStream.Play.Complete") {
        var endLoader:Loader = new Loader();
  endLoader.load(new URLRequest("secondmovie.swf"));
  addChild(endLoader);
  initializeVideo();

    }
};
ns.client = listener; 

vid1.attachNetStream(ns); 


var movietoplay:String = "firstmovie.flv"; 
ns.play(movietoplay);

function initializeVideo():void {
 ns.close();     
}

Может кто-нибудь помочь мне загрузить SWF, как только FLV закончит играть?Я думаю, что я просто не загружаю SWF правильно, потому что FLV играет правильно.

1 Ответ

2 голосов
/ 11 сентября 2010

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

в момент, когда вы дождетесь завершения загрузки видео, чтобы начать загрузку, не проигрывая SWF, означая, что будет задержкапропорционально размеру swf, до того, как он начнет играть

stop();

//start the swf loading process
var endLoader:Loader = new Loader();
endLoader.load(new URLRequest("secondmovie.swf"));

//start the video
var nc:NetConnection = new NetConnection(); 
nc.connect(null); 
var ns:NetStream = new NetStream(nc); 
var listener:Object = new Object(); 

listener.onMetaData = function(md:Object):void{}; 
listener.onPlayStatus = function(info : Object) : void {
    trace("onPlayStatus:" +info.code + " " + info.duration);

    if (info.code == "NetStream.Play.Complete") 
    {
        //unless the swf size is really big or the video really short , 
        //the swf should be loaded
        //add it it should start playing straight away.
        addChild(endLoader);
        initializeVideo();
    }
};
ns.client = listener; 

vid1.attachNetStream(ns); 


var movietoplay:String = "firstmovie.flv"; 
ns.play(movietoplay);

function initializeVideo():void {
 ns.close();     
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...