由于Android,IOS移动端的浏览器以及微信自带的浏览器为了用户更好的体验,规定不自动播放音频视频,默认屏蔽了autoplay,如果要想达到自动播放效果,需要单独处理,方法有以下几种:


第一种:添加控制属性(controls)

  • 原理:直接使用行内式添加controls属性,显示控制按钮,让用户手动触发音频播放
<audio autoplay="autopaly" loop="loop" controls="controls" id="audios"><source src="music/bg.mp3" type="audio/mp3" />
</audio>

第二种:创建页面监听(WeixinJSBridgeReady)

  • 原理:对页面加载进行监听,等待微信客户端页面加载完毕后,自动触发音频播放
<audio autoplay="autopaly" loop="loop" id="audios"><source src="music/bg.mp3" type="audio/mp3" />
</audio><script>
// 将以下代码添加到js入口函数内即可
// 这里使用了微信自带的WeixinJSBridgeReady事件
document.addEventListener('WeixinJSBridgeReady', function() {document.getElementById('audios').play()
})</script>

第三种:创建触摸监听(touchstart)

  • 原理:当浏览器打开页面时,通过触摸屏幕事件,来触发音频播放
<audio autoplay="autopaly" loop="loop" id="audios"><source src="music/bg.mp3" type="audio/mp3" />
</audio><script>
// 将以下代码添加到js入口函数内即可
document.addEventListener('touchstart', function() {document.getElementById('audios').play()
})</script>

第四种:综合以上自定义Func实现交互触发play()

  • 不推荐此方法,上面三种方法足以解决日常问题
<audio src="bg.mp3" id="audios" autoplay preload loop="loop"></audio>
<script>
function audioAutoPlay(id){  var audio = document.getElementById(id),play = function(){  audio.play();  document.removeEventListener("touchstart",play, false);  };  audio.play();  document.addEventListener("WeixinJSBridgeReady", function () {  play();  }, false);  document.addEventListener('YixinJSBridgeReady', function() {  play();  }, false);  document.addEventListener("touchstart",play, false);
}
audioAutoPlay('audios');</script>

完结。。。。。。看完点个赞吧。。。。。。✌  ✌  ✌

解决移动端浏览器 HTML 音频不能自动播放的三种方法相关推荐

  1. html手机不能自动播放音乐,解决移动端浏览器 HTML 音频不能自动播放的三种方法...

    由于Android,IOS移动端的浏览器以及微信自带的浏览器为了用户更好的体验,规定不自动播放音频视频,默认屏蔽了autoplay,如果要想达到自动播放效果,需要单独处理,方法有以下几种: 第一种:添 ...

  2. js中当等于最小值是让代码不执行_网页中JS函数自动执行常用三种方法

    本文为大家分享了在网页中JS函数自动执行常用方法,供大家参考,具体内容如下 一.JS方法 1.最简单的调用方式,直接写到html的body标签里面: 2.在JS语句调用: function myfun ...

  3. Java程序初始化启动自动执行的三种方法

    目录 @PostConstruct注解 CommandLineRunner接口 ApplicationRunner 接口 @Order注解设置启动顺序 分享一下自己用过的java程序初始化启动自动执行 ...

  4. mysql数据库最后一步卡住了_[数据库]解决MySQL安装到最后一步未响应的三种方法...

    [数据库]解决MySQL安装到最后一步未响应的三种方法 0 2018-07-13 01:01:27 这种情况一般是你以前安装过MySQL数据库服务项被占用了. 解决方法: 方法一:安装MySQL的时候 ...

  5. html网页自动运行函数,在网页中JS函数自动执行常用三种方法

    在网页中JS函数自动执行常用三种方法 在HTML中的Head区域中,有如下函数: functionn MyAutoRun() { //以下是您的函数的代码,请自行修改先! alert("函数 ...

  6. 在网页中JS函数自动执行常用三种方法

    <SCRIPT   LANGUAGE="JavaScript">   functionn MyAutoRun() {   //以下是您的函数的代码,请自行修改先! al ...

  7. sublime 设置自动更新_Win10关闭自动更新的三种方法

    Win10怎么关闭自动更新呢?很多人都不知道,下面小编来告诉大家. 第一种方法 我们右击电脑左下角的微软按钮,弹出的界面,我们点击运行: 弹出的运行中,我们输入services.msc,之后点击确定: ...

  8. 让Windows XP自动登录的三种方法

    如果你给你的XP设置了密码,那么每次在进入XP桌面之前,都会出现一个用户登录界面,要求输入密码,这样加大了系统的安全性,也为多人共用一台电脑提供了方便,但如果只有你一个人使用,这样每次要输入密码,的确 ...

  9. win10的更新怎么关闭计算机,如何彻底关掉win10自动更新_彻底关掉win10自动更新的三种方法...

    win10专业版每隔一段时间就会进行更新补丁,这样会使系统更加稳定,偶尔更新一次大家都能够接受,如果天天都弹出自动更新的提醒确实让人困惑,那么有什么办法彻底关掉win10自动更新?电脑小白都不懂操作步 ...

最新文章

  1. python 服务端渲染_客户端渲染和服务器渲染的区别
  2. MAC下MongoDB的安装启动及停止
  3. Qt-在控件上绘图的方式
  4. 阿里云获工信部CDN业务经营许可 云计算业内资质最全
  5. Linux环境下查看网络性能的基本命令
  6. 当前五大浏览器内核及简史
  7. EverWeb for Mac(网页设计软件)v3.5.1中文版
  8. 软件测试精要,软件测试精要.ppt
  9. 计算机网络断开后怎么连接,电脑网络断开怎样重新连接
  10. ie8兼容性视图灰色修复_【ie8兼容性视图灰色修复】ie8兼容性视图 灰色_ie8兼容性视图设置...
  11. 单片机引脚与端口,引脚和GPIO的区别
  12. python中减号怎么打_我的python将减号与破折号混淆
  13. 高德h5定位误差_高德地图定位JS API不准确问题
  14. matlab线性方程组求解
  15. 计算机毕业设计Android手机校园外卖订餐APP(源码+系统+mysql数据库+Lw文档)
  16. 剑桥大学等提出MAGIC,一个即插即用、无需训练的图像-文本生成框架
  17. C/C++编程:异步编程入门
  18. Spring Aop 获取入参和出参
  19. python爬虫必备防检测工具
  20. middlebury立体匹配评估使用方法总结(二)——python版离线教程

热门文章

  1. 《软件项目管理》课程学习报告
  2. Linux虚拟机网络网卡配置
  3. 漏洞扫描软件AWVS的介绍和使用
  4. chatgpt大火,这些公众号你关注了吗
  5. 一键调整Word中所有图片的大小
  6. Duplicate class com.amap.api.fence.DistrictItem found in modules location-6.2.0 and navi-3dmap-9.6.
  7. Dockerfile ENV指令 语法解析
  8. 龙珠激斗服务器维护多久,龙珠激斗
  9. 王者荣耀6月23服务器维护,王者荣耀6月23日维护到几点 王者荣耀6月23日维护结束时间...
  10. 手游界的“东方明珠” Cocos企业培训计划魔都启动