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

时间:2010-09-03 18:13:24

标签: flash actionscript-3 web youtube

我希望将带有YouTube控件的YouTube视频嵌入我的Flash网站。这可能吗?

更新w / SOLUTION:

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

3 个答案:

答案 0 :(得分:3)

这是我为此制作的基本课程。 当然你必须创建按钮。 并启用/禁用其部分功能。 希望它会有所帮助 SHANI

包{     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

}

}

答案 1 :(得分: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);
        }
    }
}

参考文献:

答案 2 :(得分:0)

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

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