我是靠谱客的博主 眼睛大眼睛,最近开发中收集的这篇文章主要介绍【兼容问题】ios不能自动播放音频【兼容问题】ios不能自动播放音频,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

【兼容问题】ios不能自动播放音频

在这里插入图片描述

一般网页里自动播放音频的代码如下

<audio src="/music/BGM.mp3" autoplay ></audio>

问题:但是ios的机制导致这一属性无法产生效果,必须手动点击已经渲染出来的DOM才可以播放。

PS:无论是直接写DOM,还是用js生成都无法触发自动播放,连加载完成的监听属性也封锁了,因此也无法监听音频文件是否加载完成,

解决思路:按着ios的安全机制,必须要点击音频的DOM,那么我们就去用JS产生点击这个操作

借助工具:微信JS SDK

<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>

将以上代码写入文件,vue项目放入/public/index.html文件里的head里

用法

1.直接自动播放

wx.config({...});//微信jssdk注册
wx.ready(function () {
     let Audio = this.$ref.Audio//这里是vue写法,返回的是音频的dom
     Audio.play()//这里就可以播放了
})

2.预加载音频文件
有时候为了用户体验,必须预加载音频文件(音频文件一般比较大,加载过慢,会导致点击和播放之间的时间差,需要预先加载)

wx.config({...});//微信jssdk注册
 wx.ready(function () {
    let Audio = new Audio();
    Audio.ref='/music/BGM.mp3'
    Audio.muted = true;//静音
    Audio.play();//播放
    Audio.pause();//暂停
    Audio.muted = false;//取消静音
})

PS:在实际测试中,会听到一段音频(播放和暂停之间有空隙,iphone8里差不多实测1s左右),因此在播放前将音频静音,暂停后取消静音

最后

以上就是眼睛大眼睛为你收集整理的【兼容问题】ios不能自动播放音频【兼容问题】ios不能自动播放音频的全部内容,希望文章能够帮你解决【兼容问题】ios不能自动播放音频【兼容问题】ios不能自动播放音频所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部