2010-09-03 34 views
1

我期待將帶有YouTube控件的YouTube視頻嵌入到我的Flash網站中。這可能嗎?我可以在我的Flash網站中嵌入YouTube播放器(帶有控件)嗎?

修訂W /解決方案:

var loader:Loader = new Loader(); 
loader.load(new URLRequest("http://www.youtube.com/v/zIcx_rxTstc")); 
addChild(loader); 
+0

,我們可以自定義播放器,[象](http://www.republicofcode.com/tutorials/flash/as3youtube/ )API? – cregox 2011-06-18 22:18:36

+0

是的,顯然我們可以! :) http://code.google.com/apis/youtube/youtube_player_demo.html – cregox 2011-06-18 22:37:34

回答

3

這是一個基本的I類爲製造。 當然,您將不得不創建按鈕。 並啓用/禁用其某些功能。 希望能幫到 shani

package { import flash.system.Security; import flash.display.MovieClip; import flash.display.Loader; import flash.events。*; import flash.net.URLRequest;

public class YouTubeAS3 extends MovieClip { 
    private var player:Object; 
    private var playBtn:PlayBtn; 
    private var pauseBtn:PauseBtn; 
    private var stopBtn:StopBtn; 

    public function YouTubeAS3 (vidId:String) { 

     Security.allowDomain("http://www.youtube.com") ; 
        var loader1:Loader = new Loader(); 
     loader1.contentLoaderInfo.addEventListener (Event.INIT, onLoaderInit); 
     loader1.load (new URLRequest("http://www.youtube.com/apiplayer?version=3")); 

     function onLoaderInit (event:Event):void { 
      addChild (loader1); 
      loader1.content.addEventListener ("onReady", onPlayerReady); 
      loader1.content.addEventListener ("onError", onPlayerError); 
      loader1.content.addEventListener ("onStateChange", onPlayerStateChange); 
      loader1.content.addEventListener ("onPlaybackQualityChange", onVideoPlaybackQualityChange); 

      playBtn= new PlayBtn(); 
      pauseBtn= new PauseBtn(); 
      stopBtn= new StopBtn(); 


      playBtn.x = pauseBtn.x = stopBtn.x = 430; 
      playBtn.y = 20; 
      pauseBtn.y = 50; 
      stopBtn.y = 80; 



      playBtn.addEventListener (MouseEvent.CLICK,playP); 
      pauseBtn.addEventListener (MouseEvent.CLICK,pauseP); 
      stopBtn.addEventListener (MouseEvent.CLICK,stopP); 
      player.addEventListener (MouseEvent.CLICK,setPsize); 

      addChild (playBtn); 
      addChild (pauseBtn); 
      addChild (stopBtn); 
     } 

     function onPlayerReady (event:Event):void { 
      // Event.data contains the event parameter, which is the Player API ID 
      trace ("player ready:", Object(event).data); 

      // to load a particular YouTube video. 
      player = loader1.content; 
      player.loadVideoById (vidId); 
      player.setSize (448, 252); 


     } 



     function onPlayerError (event:Event):void { 
      // Event.data contains the event parameter, which is the error code 
      trace ("player error:", Object(event).data); 
     } 

     function onPlayerStateChange (event:Event):void { 
      // Event.data contains the event parameter, which is the new player state 
      trace ("player state:", Object(event).data); 


      if(Object(event).data==1){ 
       //if(loading!=null){ 
       //removeChild(loading); 
       //loading=null; 
       //} 
      } 

     } 

     function onVideoPlaybackQualityChange (event:Event):void { 
      // Event.data contains the event parameter, which is the new video quality 
      trace ("video quality:", Object(event).data); 
     } 
    } 
    public function setPsize (evt:MouseEvent):void { 
     player.setSize (640, 360); 
    } 

    public function playP (evt:MouseEvent):void { 
     if (player) { 

      player.playVideo(); 
     } 
    } 
    public function pauseP (evt:MouseEvent):void { 
     if (player) { 

      player.pauseVideo(); 
     } 
    } 

    public function stopP (evt:MouseEvent):void { 
     if (player) { 

      player.stopVideo(); 
     } 
    } 

    public function muteP (evt:MouseEvent):void { 
     if (player) { 

      player.mute(); 
     } 

    } 

    public function unMuteP (evt:MouseEvent):void { 
     if (player) { 

      player.unMute(); 
     } 
    } 

    //player.isMuted():Boolean 

    //player.setVolume(volume:Number):Void 

} 

}

+0

+1 「http://www.youtube.com/apiplayer?version = 3」的引用,它允許我在谷歌上找到這個來獲得**其他**解決方案! :) – cregox 2011-06-18 22:07:00

1

我的簡化工作溶液(複製粘貼&寶貝!):

package { 
    import flash.display.MovieClip; 
    import flash.system.Security 
    import flash.events.*; 

    import flash.display.Loader; 
    import flash.net.URLRequest; 

    public class youtubeSandbox extends MovieClip { 
     // remember, this is just an example - remove the following line for production! 
     Security.allowInsecureDomain("*"); 

     var my_player:Object; 
     var my_loader:Loader = new Loader(); 

     public function youtubeSandbox() { 
      my_loader.load(new URLRequest("http://www.youtube.com/v/5P6UU6m3cqk?version=3")); 
      // use either /v or /apiplayer 
      //my_loader.load(new URLRequest("http://www.youtube.com/apiplayer?version=3")); 

      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(640,480); 
     } 
    } 
} 

參考文獻:

相關問題