flash裏的代碼如下:
import flash.external.*;
var mysound:Sound = new Sound();
var _method:String = "KeyDown";
var e_area:Object = this;
var method:Function = KeyDown;
var wasSuccessful:Boolean = ExternalInterface.addCallback(_method,e_area,method);
if(wasSuccessful) {
result_txt.text = "函數註冊成功!!";
}
//
function KeyDown(clr:String) {
if(clr=="48"||clr=="96") {
mysound.attachSound("0");
mysound.start();
result_txt.text = 0;
} else if (clr==49||clr==97) {
mysound.attachSound("1");
mysound.start();
result_txt.text = 1;
} else if (clr==50||clr==98) {
mysound.attachSound("2");
mysound.start();
result_txt.text = 2;
} else if (clr==51||clr==99) {
mysound.attachSound("3");
mysound.start();
result_txt.text = 3;
} else if (clr==52||clr==100) {
mysound.attachSound("4");
mysound.start();
result_txt.text = 4;
} else if (clr==53||clr==101) {
mysound.attachSound("5");
mysound.start();
result_txt.text = 5;
} else if (clr==54||clr==102) {
mysound.attachSound("6");
mysound.start();
result_txt.text = 6;
} else if (clr==55||clr==103) {
mysound.attachSound("7");
mysound.start();
result_txt.text = 7;
} else if (clr==56||clr==104) {
mysound.attachSound("8");
mysound.start();
result_txt.text = 8;
} else if (clr==57||clr==105) {
mysound.attachSound("9");
mysound.start();
result_txt.text = 9;
}else{
result_txt.text = txt;
}
}
ExternalInterface.addCallback("KeyDown", this, KeyDown);
html裏的代碼如下:
<html>
<head>
<title>
<script language=JavaScript>
var me; //代表swf的id
//獲取正確的引用
function getID(test) {
if (navigator.appName.indexOf("Microsoft") > -1) {
me = window[test];
} else {
me = document[test];
}
}
</script>
</title>
</head>
<body>
<!-- 引入flash -->
<object type="application/x-shockwave-flash" data="duyin1.swf" width="525" height="390" name="test" id="test">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="duyin1.swf" />
<param name="quality" value="high" />
<param name="scale" value="noScale" />
<param name="wmode" value="transparent" />
<embed src="duyin1.swf" quality="high" bgcolor="#ffffff" width="400" height="300" name="external1" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
<div>
<form>
<input type="text" onkeypress="callExternalInterface(event.keyCode);" />
</form>
<script>
function callExternalInterface(tt) {
//調用flash裏的方法
thisMovie("test").KeyDown(tt);
}
//瀏覽器兼容訪問DOM
function thisMovie(movieName) {
if (navigator.appName.indexOf("Microsoft") != -1) {
return window[movieName]
}
else {
return document[movieName]
}
}
</script>
</div>
</body>
</html>
提供源碼下載: