代码之家  ›  专栏  ›  技术社区  ›  Jeremy White

我可以在Flash网站中嵌入YouTube播放器(带控件)吗?

  •  1
  • Jeremy White  · 技术社区  · 14 年前

    更新w/解决方案:

    var loader:Loader = new Loader();
    loader.load(new URLRequest("http://www.youtube.com/v/zIcx_rxTstc"));
    addChild(loader);
    
    3 回复  |  直到 13 年前
        1
  •  0
  •   warriorpostman    14 年前

    看起来这篇文章将为您提供所需的解决方案:

    http://www.actionscript.org/forums/showthread.php3?t=122501

        2
  •  3
  •   shannoga    14 年前

    这是我做的基础课。 启用/禁用部分功能。 沙尼

    包装{ 导入flash.display.MovieClip; 导入flash.events事件.*;

    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
    
    }
    

    }

        3
  •  1
  •   cregox    13 年前

    我的简化工作方案(复制和粘贴宝贝!):

    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);
            }
        }
    }
    

    参考文献: