jquery控制背景音乐开关与自动播放提示音
本文导语: 记得初学网页制作时,在网页中加入一段背景音乐,那真是格外愉悦。 如何使用js控制背景音乐播放与停止?对于初学js脚本编程的朋友来讲,不是那么轻松的事。 这里我们先复习下之前介绍过的js背景音乐循环播放代码(多...
记得初学网页制作时,在网页中加入一段背景音乐,那真是格外愉悦。
如何使用js控制背景音乐播放与停止?对于初学js脚本编程的朋友来讲,不是那么轻松的事。
这里我们先复习下之前介绍过的js背景音乐循环播放代码(多浏览器支持)与js添加网页背景音乐代码的方法,以有助于理解并掌握今天的教程。
例1,jquery控制背景音乐开关。
//加载背景音乐,并自动播放
$('#bg_music').append('');
// www.
$('#bg_music_btn').click(function(){
var state = $('#bg_music_btn').attr('state');
if(state == '1')//
{
$('#bg_music_btn').attr('state','0');
$('#bg_music_btn').html('打开背景音乐');
$('#m_bg_music').remove();
}else if(state == '0')
{
$('#bg_music_btn').attr('state','1');
$('#m_bg_music').remove();
$('#bg_music_btn').html('关闭背景音乐');
$('#bg_music').append('');
}
});
相关阅读:
js设置背景音乐播放的例子
以上介绍了jquery如何控制背景音乐开关的方法,
JQuery自动播放提示音
最早对网站有自动提示音的功能,发现在Discuz论坛中出现。但是它有一个问题就是只支持flash,不支持HTML5,不明确最新版本中是否支持HTML5。
对于Discuz 7.2 版本中,提供了player.swf、pm_1.mp3、pm_2.mp3、pm_3.mp3,然后使用从下脚本来实现:
function soundplayer(file) {
$(‘soundplayerlayer’).innerHTML = AC_FL_RunContent(‘id’, ‘pmsoundplayer’, ‘name’, ‘pmsoundplayer’, ‘width’, ’0′, ‘height’, ’0′, ‘src’, ‘{$boardurl}images/sound/player.swf’, ‘FlashVars’, ‘sFile={$boardurl}images/sound/pm_’ + file + ‘.mp3′, ‘menu’, ‘false’, ‘allowScriptAccess’, ‘sameDomain’, ‘swLiveConnect’, ‘true’);
}
可惜这个方法局限在flash,在苹果设备上可能就会遇到麻烦了。
HTML5开源播放器JPlayer支持自动播放提示音
JPlayer支持play事件触发自动播放提示音。
1. 装载JPlayer到一个div层,例如#jplayer。
$("#jplayer").jPlayer({
swfPath: "http://www.jplayer.org/latest/js/Jplayer.swf",
ready: function () {
$(this).jPlayer("setMedia", {
mp3: "./resources/message.mp3"
});
},
supplied: "mp3"
});
});
body部分加入:
装载JQuery完成后,jplayer的div内容在支持swf的浏览器内变成:
在支持HTML5的浏览器内变成:
完成装载后就是触发播放的事件了。
2. 触发播放提示音事件
3. 循环播放函数,每5秒播放一次提示音。
$("#jplayer").jPlayer(‘play’);
setInterval("PlaySound()", 5000);
return true;
}
附录:
1,解决无法自动播放提示音的问题
如果在加载JQplayer后,立刻运行播放的触发事件,没有任何效果!具体是什么原因我也不太清楚,估计是因为音频文件没有加载上。
2,解决方法是让触发事件等待5秒中执行。
加载完页面,5秒后自动播放提示音。