博客列表 >有关H5中背景音乐的自动播放功能

有关H5中背景音乐的自动播放功能

弘德誉曦的博客
弘德誉曦的博客原创
2021年07月31日 21:22:362258浏览

有关HTML5中背景音乐的自动播放功能

这篇文章主要介绍了有关HTML5中背景音乐的自动播放功能的相关资料,需要的朋友可以参考下

音乐的自动播放属性,这里也介绍一下:

  1. <audio controls="controls" autoplay="autoplay">
  2. <source src="song.ogg" type="audio/ogg" />
  3. <source src="song.mp3" type="audio/mpeg" />
  4. Your browser does not support the audio element.
  5. </audio>

autoplay 属性规定一旦音频就绪马上开始播放。
如果设置了该属性,音频将自动播放。
但是在实际运用中,经常会遇到不能自动播放的现象,主要是因为有些浏览器或者手机会阻止或不支持autoplay这个属性,在这里我介绍一下我采用的方法。

  • 首先:在html中代码如下
    1. <audio id="music1" controls="controls" autoplay="autoplay" preload id="music1" hidden>
    2. <source src="music/bgmusic.mp3" />
    3. </audio>
    4. <!--这里是音乐-->
    5. <img id="btn" class="active" src="img/music.png" alt="" />
    6. <!--这里是一个可以控制背景音乐播放暂停的开关-->
  • 在js文件中采用如下代码
    1. var audio = document.getElementById('music1');
    2. $("#btn").bind("touchstart", function bf() {
    3. if(audio !== null) {
    4. //检测播放是否已暂停.audio.paused 在播放器播放时返回false.
    5. //alert(audio.paused);
    6. if(audio.paused) {
    7. audio.play(); //audio.play();// 这个就是播放
    8. $("#btn").addClass("active")
    9. } else {
    10. audio.pause(); // 这个就是暂停
    11. $("#btn").removeClass("active")
    12. }
    13. }
    14. })
  • 写到了这里大部分安卓机就基本可以实现自动播放了,但是苹果手机在这个时候还是不行的

这里我采用了一个在加载页中加入一个按钮,当加载完成的时候,点击按钮,引导用户完成背景音乐的自动播放,代码如下:

  1. $("html").one('touchstart',function(){
  2. audio.play();
  3. })

到了这里就实现了背景音乐的自动播放,这个办法适用于有加载页,并且需要点击进入h5的项目……

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议