onPlayStatus as3 - PullRequest
       3

onPlayStatus as3

2 голосов
/ 30 июля 2011

Новое в этом.Имейте этот код для просмотра нескольких событий netstream.Хотите использовать onPlayStatus для зацикливания "flv / intro.flv", а для остальных видео я бы хотел, чтобы они вернулись к intro.flv после завершения воспроизведения, но я не могу найти ничего, что могло бы помочь,Кто-нибудь может предложить ссылку или некоторую помощь с функцией?Вот мой код:

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

var metaDataListener:Object = new Object();
metaDataListener.onMetaData = function(meta:Object){
}

ns.client = metaDataListener
var myVideo:Video = new Video(800, 600);
myVideo.x = 0;
myVideo.y = 0;
addChild(myVideo);
setChildIndex(myVideo, 0);
myVideo.attachNetStream(ns);
ns.play("flv/intro.flv");

duetBTN.addEventListener(MouseEvent.CLICK, playVideo1);
vantageBTN.addEventListener(MouseEvent.CLICK, playVideo2);
cabrioBTN.addEventListener(MouseEvent.CLICK, playVideo3);
classicBTN.addEventListener(MouseEvent.CLICK, playVideo4);
laundryBTN.addEventListener(MouseEvent.CLICK, playVideo5);
resourceBTN.addEventListener(MouseEvent.CLICK, playVideo6);
industryBTN.addEventListener(MouseEvent.CLICK, playVideo7);
homeBTN.addEventListener(MouseEvent.CLICK, playVideo8);
function playVideo1(e:MouseEvent):void {
    ns.play ("flv/duet.flv");
}    
function playVideo2(e:MouseEvent):void {
    ns.play("flv/vantage.flv");
}
function playVideo3(e:MouseEvent):void {
    ns.play("flv/cabrio.flv");
}
function playVideo4(e:MouseEvent):void {
    ns.play("flv/classic.flv");
}



function playVideo5(e:MouseEvent):void {
    ns.play("flv/laundry.flv");
}
function playVideo6(e:MouseEvent):void {
    ns.play("flv/resource.flv");
}
function playVideo7(e:MouseEvent):void {
    ns.play("flv/industry.flv");
}
function playVideo8(e:MouseEvent):void {
    ns.play ("flv/intro.flv");
}

Ответы [ 2 ]

4 голосов
/ 30 июля 2011

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

var introPlayer:NetStream = new NetStream(nc); // nc refers to shared net connection declared earlier
var introVid:Video = new Video(800, 600);
ns.addEventListener(NetStatusEvent.NET_STATUS, checkStreamStatus);

function checkStreamStatus(e:NetStatusEvent):void {
        switch (e.info.code) {
              case "NetStream.Play.Complete":
              playIntro();
              break;
        }
};

function playIntro():void {
       addChild(introVid);
       introVid.attachNetStream(introPlayer);
       introPlayer.play("flv/intro.flv");
}

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

3 голосов
/ 11 февраля 2012

Если NetStream.Play.Complete не отправлено, замените его на: NetStream.Play.Stop или NetStream.Buffer.Flush

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...