使用按钮控制HTML5背景音乐开关

我们有时会在页面上加上背景音乐,允许用户自己开启和关闭背景音乐,尤其基于手机html5制作的多媒体页面,HTML5的audio音频标签可以获取音频的播放状态,通过触摸按钮就可以关闭和开启背景音乐。

查看演示 下载源码

HTML

建立一个HTML5页面,放置<audio>标签,设置音频文件源,设置循环播放。准备两张图片,分别表示开启和暂停背景音乐两种状态,可以点击。

<audio id="music2" src="/music.mp3"  loop="loop">你的浏览器不支持audio标签。</audio>
<a href="https://zhishitu.com"><img src="/pause.gif" width="48" height="50" id="music_btn2" border="0"></a>
知识兔

Javascript

我们在点击开关图片按钮的时候调用了javascript脚本,playPause()函数。函数中判断audio音频播放状态,如果已经停止(paused)则调用.play()继续播放,如果是在播放状态,则立即暂停播放.pause(),两种状态切换时及时更新按钮图片,请看代码:

function playPause() {
    var music = document.getElementById('music2');
    var music_btn = document.getElementById('music_btn2');
    if (music.paused){
        music.play();
        music_btn.src = 'play.gif';
    }
    else{
        music.pause();
        music_btn.src = 'pause.gif'; 
    }
}
知识兔

如果使用jQuery代码可以这样写:

<audio id="music" src="http://cctv3.qiniudn.com/zuixingfuderen.mp3" autoplay="autoplay" loop="loop">你的浏览器不支持audio标签。</audio>
<a id="audio_btn"><img src="/play.gif" width="48" height="50" id="music_btn" border="0"></a>
知识兔
<script>$("#audio_btn").click(function(){var music = document.getElementById("music");if(music.paused){music.play();$("#music_btn").attr("src","play.gif");}else{music.pause();$("#music_btn").attr("src","pause.gif");}});</script>

注意的是要记得加载jQuery库文件。

计算机