查看文章 |
Ext:在Ext中播放声音(mp3等)
2009-05-15 23:46
有时候我们可能会有这样的需求,给用户一些声响提示,以增强用户的体验或者给用户更加明显的提示 比如说刚打开系统的时候,播放一段声音;有新信息的时候,发出短提示等 但这时出现问题了,因为我们要拿出一个兼容的的方案(主要是浏览器兼容),虽 然DHTML5已经有了audio标签,但毕竟应用不广泛。 有人说使用<embed>,但相信大家都有这样的感觉,当我们打开页面的时候,浏览 器总是提示要下载插件,有时候还下载不了 这时就不得不提flash了,几乎所有的浏览器都装有flash播放器,如果能利用flash提 供的接口编写一个播放器,那兼容方面就解决了 最后决定采用的是soundManager2 (js)声音播放组件,因为Ext官方并没有提供类 似组件 经过研究,终于能用到Ext中了,这个就是在程序中用到的,点击这里下载 方法如下: 下载下来以后 如果你下载的是官方原版的(可以直接使用我上面提供的那个) 找到soundManager2.js 把最后一句注释掉 //soundManager = new SoundManager(); 然后在Ext.onReady中,加入 //初始化声音类soundManager soundManager = new SoundManager(); //soundManager.waitForWindowLoad = true; //是否打开调试模式,打开话对viewport有一定影响 soundManager.debugMode = false; //这个是soundManager提供的swf文件所在的文件夹 soundManager.url = 'jslib/sound/swf'; soundManager.beginDelayedInit(); soundManager.onload = function() { //这里面放入你要播放的声音 //系统声音 soundManager.createSound({ id: 'systemSound', url: 'jslib/sound/mp3/system.mp3', //autoLoad: true,//自动加载 //multiShot: false,//true 在同一时刻只能有一个频段的声音 autoPlay: true //自动播放 这个是系统的背景音 //volume: 100 }); //信息音 soundManager.createSound({ id: 'msgSound', url: 'jslib/sound/mp3/msg.mp3' //volume: 100 }); //加入音 soundManager.createSound({ id: 'joinSound', url: 'jslib/sound/mp3/join.mp3' //volume: 100 }); } 然后在程序中需要播放声音的地方,加上 soundManager.play('joinSound'); soundManager.play('msgSound'); 不要忘了在页面中引用js文件 <script type="text/javascript" src="jslib/sound/soundmanager2.js"> </script> 在部署的时候使用的是压缩版 <script type="text/javascript" src="jslib/sound/soundmanager2-min.js"> </script> |
最近读者:

