2013-12-02 3 views
0

У меня есть этот код, который играет в YouTube фильм в формате Flash As3. он отлично работает, но я не могу заставить этот фильм снова сыграть в финале. любые идеи?Loop youtube клип на вспышке As3

здесь код:

Security.allowDomain("www.youtube.com"); 

var my_player:Object; 


var my_loader:Loader = new Loader(); 
my_loader.load(new URLRequest("http://www.youtube.com/apiplayer?version=3&loop=1;")); 
my_loader.contentLoaderInfo.addEventListener(Event.INIT, onLoaderInit); 

function onLoaderInit(e:Event):void{ 
addChild(my_loader); 
my_player = my_loader.content; 

my_player.addEventListener("onReady", onPlayerReady); 


} 

function onPlayerReady(e:Event):void{ 
my_player.setSize(300,300); 
my_player.loadVideoById("indux8D-SoA&loop=1;",0); 
my_player.mute(); 

} 

Большое спасибо!

ответ

0

Вы должны использовать "onStateChange" прослушиватель событий для вашего объекта my_player. И проверьте, когда он пройдет 0 или YT.PlayerState.ENDED.

my_player.addEventListener("onStateChange", onPlayerStateChange); 

function onPlayerStateChange(event:Event):void { 
    if(Object(event).data==0){ 
    //reload, restart, rewind and so on code here; 
    } 
} 

В качестве альтернативы вы можете загрузить список воспроизведения с одним юность видео с помощью getPlaylist() и использовать setLoop метод циклического воспроизведения этого «списка»

my_player.setLoop(true); 
+0

спасибо! Можете ли вы показать мне, как перезапустить фильм снова? то, что именно я должен писать: if (Object (event) .data == 0) { еще раз спасибо – user2788897

+0

, вы можете просто перезагрузить видео, используя 'my_player.loadVideoById (" indux8D-SoA & loop = 1; ", 0);' – Aspiro

+0

спасибо. но он не работал для меня. остановка фильма после одного раза. – user2788897

Смежные вопросы