2011年10月17日 星期一

全螢幕Youtube MV當作網站背景做法



package {

 import flash.display.Loader;

 import flash.display.Sprite;

 import flash.display.StageScaleMode;

 import flash.events.Event;

 import flash.net.URLRequest;

 /**

  * ...

  * @author Ray

  */

 [Frame(factoryClass="Preloader")]

 public class Main extends Sprite {

  private var _player:Object;

  private var _loader:Loader = new Loader();

  private var _sw:Number;

  private var _sh:Number;

  public function Main():void {

   if (stage)

    init();

   else

    addEventListener(Event.ADDED_TO_STAGE, init);

  }

  private function init(e:Event = null):void {

   removeEventListener(Event.ADDED_TO_STAGE, init);

   stage.scaleMode = StageScaleMode.NO_SCALE;

   stage.addEventListener(Event.RESIZE, onResizeHandler);

   if(stage.stageWidth==0)this.addEventListener(Event.ENTER_FRAME,onEnterFrameHandler)

   else onEnterFrameHandler(e);

   

  }

  

  private function onEnterFrameHandler(e:Event):void {

   this.removeEventListener(Event.ENTER_FRAME, onEnterFrameHandler);

   create();

  }

  

  private function onResizeHandler(e:Event):void {

   _player.setSize(stage.stageWidth,stage.stageHeight);

  }

  private function create():void {

   

   _loader.contentLoaderInfo.addEventListener(Event.INIT, onLoaderInit);

   _loader.load(new URLRequest("http://www.youtube.com/apiplayer?version=3"));

  }

  private function onLoaderInit(event:Event):void {

   addChild(_loader);

   _loader.content.addEventListener("onReady", onPlayerReady);

   _loader.content.addEventListener("onError", onPlayerError);

   _loader.content.addEventListener("onStateChange", onPlayerStateChange);

   _loader.content.addEventListener("onPlaybackQualityChange", onVideoPlaybackQualityChange);

  }

  private function onPlayerReady(event:Event):void {

   // Event.data contains the event parameter, which is the Player API ID

   trace("player ready:", Object(event).data);

   // Once this event has been dispatched by the player, we can use

   // cueVideoById, loadVideoById, cueVideoByUrl and loadVideoByUrl

   // to load a particular YouTube video.

   _player = _loader.content;

   

   _player.setSize(stage.stageWidth,stage.stageHeight);

   _player.loadVideoByUrl("http://youtu.be/URUIcYDq3_I", 0);

   _player.playVideo();

   

   

  }

  private function onPlayerError(event:Event):void {

   // Event.data contains the event parameter, which is the error code

   trace("player error:", Object(event).data);

  }

  private function onPlayerStateChange(event:Event):void {

   // Event.data contains the event parameter, which is the new player state

   trace("player state:", Object(event).data);

  }

  private function onVideoPlaybackQualityChange(event:Event):void {

   // Event.data contains the event parameter, which is the new video quality

   trace("video quality:", Object(event).data);

  }

 }

}

.

1 則留言:

我的留言版