我们有时会在页面上加上背景音乐,允许用户自己开启和关闭背景音乐,尤其基于手机html5制作的多媒体页面,HTML5的audio音频标签可以获取音频的播放状态,通过触摸按钮就可以关闭和开启背景音乐。
效果图如下所示:
HTML建立一个HTML5页面,放置<audio>标签,设置音频文件源,设置循环播放。准备两张图片,分别表示开启和暂停背景音乐两种状态,可以点击。
XML/HTML Code复制内容到剪贴板
- <audioid=music2src=music.mp3loop=loop>你的浏览器不支持audio标签。</audio>
- <ahref=javascript:playPause();><imgsrc=pause.gifwidth=48height=50id=music_btn2border=0></a>
Javascript我们在点击开关图片按钮的时候调用了javascript脚本,playPause()函数。函数中判断audio音频播放状态,如果已经停止(paused)则调用.play()继续播放,如果是在播放状态,则立即暂停播放.pause(),两种状态切换时及时更新按钮图片,请看代码:
JavaScript Code复制内容到剪贴板
- functionplayPause(){
- varmusic=document.getElementById('music2');
- varmusic_btn=document.getElementById('music_btn2');
- if(music.paused){
- music.play();
- music_btn.src='play.gif';
- }
- else{
- music.pause();
- music_btn.src='pause.gif';
- }
- }
如果使用jQuery代码可以这样写:
JavaScript Code复制内容到剪贴板
- <audioid=musicsrc=http://cctv3.qiniudn.com/zuixingfuderen.mp3autoplay=autoplayloop=loop>你的浏览器不支持audio标签。</audio>
- <aid=audio_btn><imgsrc=play.gifwidth=48height=50id=music_btnborder=0></a>
- <script>
- $(#audio_btn).click(function(){
- varmusic=document.getElementById(music);
- if(music.paused){
- music.play();
- $(#music_btn).attr(src,play.gif);
- }else{
- music.pause();
- $(#music_btn).attr(src,pause.gif);
- }
- });
- </script>