2011年9月5日 星期一

Java外部呼叫Flash AS3.0

AS3.0----內部語法

package {
import fl.video.FLVPlayback;
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.Event;
import flash.external.ExternalInterface;
/**
* ...
* @author Ray
*/
public class player extends Sprite{

private var _player:PlayerMc;

public function player() {

if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}

private function init(e:Event = null):void {
removeEventListener(Event.ADDED_TO_STAGE, init);


_player = new PlayerMc();
addChild(_player);
FLVPlayback(_player.player).source = this.loaderInfo.parameters.flv;
FLVPlayback(_player.player).align = "center";

setPlayerEvent();
}

private function setPlayerEvent():void {

//如果外部java有呼叫會回傳true
if (ExternalInterface.available) {
//外部呼叫AS("涵式名稱",方法)
ExternalInterface.addCallback("currentMovie", currentMovie);
}

}
//執行Function帶入參數
private function currentMovie(pMove:String):void{

FLVPlayback(_player.player).source = pMove;
//FLVPlayback(_player.player).autoPlay = true;
}
}
}



<script src="js/swfobject.js" type="text/javascript"></script>

<!--------javaScript--寫code方式-------->
<script language="javascript">

function callAs(){
var $swf = swfobject.getObjectById("vidio");
if ($swf){
<!----如果$swf存在就執行flash裡的currentMovie("movie/andyMv.flv")函式並且代入參數------>
$swf.currentMovie("movie/andyMv.flv");
}
}
</script>
<!-----------------以上--------------------->

<script type="text/javascript">
var flashvars = {

flv:'movie/013.flv'

};
var params = {
menu: "false",
scale: "noScale",
allowFullscreen: "true",
allowScriptAccess: "always",
bgcolor: "#FFFFFF"
};
var attributes = {
id:"vidio"

};
swfobject.embedSWF("mov_media.swf", "altContent", "100%", "100%", "10.0.0", "expressInstall.swf", flashvars, params, attributes);
</script>
<!------按鈕測試(如果按下則執行callAs())--IT可以自行拿掉------>
<form name="myForm">
<input type="button" onClick="callAs()" value="執行as3.0" />
</form>

沒有留言:

張貼留言

我的留言版