回答问题:http://www.iteye.com/problems/22309
一般做背景声的做法是用bgsound或embed,但是它们跟浏览器都有关,不如直接用flash来做得方便.
1.FLASH端代码如下:
//SoundSwf.as
package {
import flash.display.*;
import flash.events.*;
import flash.media.Sound;
import flash.net.URLRequest;
import flash.external.ExternalInterface;
import flash.utils.*;
public class SoundSwf extends Sprite{
private var map:Object = new Object();
public function SoundSwf():void{
if (ExternalInterface.available){
ExternalInterface.addCallback("playSound", this.playSound);
}
}
public function playSound(url:String,count:int):void{
var s:Sound;
if(!map.hasOwnProperty(url)){
s = new Sound();
map.url=s;
s.addEventListener(Event.COMPLETE,function(e:Event):void{
var localSound:Sound = e.target as Sound;
localSound.play(0,count);
});
s.addEventListener(IOErrorEvent.IO_ERROR, function(e:IOErrorEvent):void{ExternalInterface.call("alert", e);});
s.load(new URLRequest(url));
}else{
s = map.url as Sound;
s.play(0,count);
}
}
}
}
2. JS端调用:
<noscript>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="1" height="1" id="SoundSwf" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="allowFullScreen" value="false" />
<param name="movie" value="SoundSwf.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /> <embed src="SoundSwf.swf" quality="high" bgcolor="#ffffff" width="1" height="1" name="SoundSwf" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer_cn" />
</object>
</noscript>
<script>
window.onload=function(){
SoundSwf.playSound('event.mp3',2);
//SoundSwf.playSound('alarm.mp3',1);
//SoundSwf.playSound('event.mp3',4);
}
</script>
详细见附件.
ps: js段建议用SwfObject来载入swf.
另外,该示例中, 在onload事件里面调用是不可靠的,因为有可能这时候swf还没初始化完
分享到:
相关推荐
兼容FF/IE跟随鼠标的层的效果
(兼容ff/ie)td点击背景变色特效
图片模糊化,支持FF/IE6以上,onMouseOver事件可以使图片模糊,onMouseout变清晰。
省市县选择器,支持 ie6/7/8 和火狐
1、基于raphael2.0的绘图(内含大量...2、几乎兼容所有浏览器包括ie, firefox,chrome,opera, Safari 3、内含说明文档和演示代码,详见demo文件夹 4、可动态拖动图形(贝磁曲线、动态拾色器、图表、地图导航、流程图等)。
360度全景图,打开fullview.html即可运行 支持chrome/FF/IE9+
ie6 ie7 ff浏览器兼容 border:2px solid #00f; /*IE、ff的属性*/ border:2px solid #090\9; /* IE6/7/8的属性 */ border:2px solid #F90\0; /* IE8支持 */ *border:2px solid #F00; /* IE6、7支持 */ _border:2...
浏览器兼容解决FF/IE6/IE7背景专用CSS HACK
通过CSS Hack 区分 FF/IE7/IE6/IE5.5/IE5 代码推荐
FF和IE的兼容性问题总结,FF和IE的兼容性问题总结,FF和IE的兼容性问题总结,FF和IE的兼容性问题总结
做web开发时,大家经常在数据输入时要做选择,有时需要辅助输入,但用select下拉框用户体验不好,所以很多时候要用到信息输入提示,点击一下显示输入信息,让用户作选择,本demo就很好做到了这一点,希望大家用得到,用的是...
无缝兼容FF和IE的js 跑马灯效果核心代码
使用jquery/jsp/servlet/iframe实现跨浏览器跨全(子)域多文件上传操作.希望能给大家带来帮助.
下面是兼容IE和FF的js脚本做法和分解(部分选自网上,经本人整理),希望对大家有帮助。 .以下以 IE 代替 Internet Explorer,以 MF/FF 代替 Mozzila Firefox //window.event IE:有window.event对象 FF:没有...
javascript XML文件 兼容FF,IE
CSS完美兼容IE6/IE7/FF的通用方法 一、CSS HACK 以下两种方法几乎能解决现今所有HACK.
兼容IE FF 省级三级联动 兼容IE FF 省级三级联动 兼容IE FF 省级三级联动 兼容IE FF 省级三级联动
CSS完美兼容IE6IE7FF的通用方法
特牛的FF/IE6/IE7专用CSS HACK