[实例] 使用JS播放声音——SoundManager 2
任务: 让Web IM有声音提示
轮子: http://www.schillmania.com/projects/soundmanager2/
SoundManager 2 makes it easier to play audio using JavaScript.
官方文档写得很详细,好东西
写个Demo
需要的文件有:下载soundmanager2包中的script文件夹和swf文件夹
Demo/
- index.html
Demo/script/
- jquery-1.8.2.min.js
- soundmanager2-nodebug-jsmin.js
Demo/swf/
- soundmanager2_flash_xdomain.zip
- soundmanager2_flash9_debug.swf
- soundmanager2_flash9.swf
- soundmanager2_debug.swf
- soundmanager2.swf
Demo/sound/
- msg.mp3
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>SoundDemo</title>
<script type="text/javascript" src="script/soundmanager2-nodebug-jsmin.js"></script>
<script type="text/javascript" src="script/jquery-1.10.0.min.js"></script>
<script type="text/javascript">
soundManager.setup({
url: 'swf/', //swf文件夹的位置
onready: function() {
soundManager.createSound({
id: 'msg',
autoLoad: true,
autoPlay: false,
url: 'sound/msg.mp3' //mp3文件的位置
});
}
});
$(document).ready(function () {
$('#play').click(function () {
soundManager.play('msg'); //点击按钮可播放
});
});
</script>
</head>
<body>
<input type='button' id='play' value='Play' />
</body>
</html>
遇到的问题
-
需要把Demo部署到服务器上才能正常, 否则还是会有?跨域的问题?(应该是这个问题吧), 不能加载本地文件. (意思是: 本地直接打开index.html是不能播放的, 但我上传到博客的服务器上就能播放了..有人不理解这个 - - 搜索"跨域"相关)
-
用的.wav文件在chrome中能正常播放, 但在IE中不能播放, 转成.mp3文件后就都可以正常播放了
将代码添加到我自己写的IM里成功播放声音
参考文档: