暂时解决了安卓和ios不可自动播放的问题。

html代码,用于苹果的音乐播放<audio id="audio" src="../music.mp3" loop autoplay></audio>
<button id="start">start</button>
<button id="stop">stop</button>
获取html的audio的dom
let htmlAudio = document.querySelector('#audio')
// 这里是AudioContext给安卓用
window.AudioContext = window.AudioContext || window.webkitAudioContext || window.mozAudioContext || window.msAudioContext;var context = new window.AudioContext();
var source = null;
var audioBuffer = null;function stopSound() {if (source) {source.stop(0); //立即停止}
}function playSound() {source = context.createBufferSource();source.buffer = audioBuffer;source.loop = true; //循环播放source.connect(context.destination);if (!(/iphone/.test(navigator.userAgent.toLowerCase()))) {source.start(0); //立即播放}function initSound(arrayBuffer) {context.decodeAudioData(arrayBuffer, function(buffer) { //解码成功时的回调函数audioBuffer = buffer;playSound();}, function(e) { //解码出错时的回调函数console.log('Error decoding file', e);});
}function loadAudioFile(url) {var xhr = new XMLHttpRequest(); //通过XHR下载音频文件xhr.open('GET', url, true);xhr.responseType = 'arraybuffer';xhr.onload = function(e) { //下载完成initSound(this.response);};xhr.send();
}
// 安卓,加载并播放
if (!(/iphone/.test(navigator.userAgent.toLowerCase()))) {    loadAudioFile('../music.mp3');
}
// 这块是移动端ios自动播放
const invoke = () => {if (/iphone/.test(navigator.userAgent.toLowerCase())) {if (htmlAudio.paused) {htmlAudio.play()}}
}if (typeof WeixinJSBridge === 'undefined') {document.addEventListener('WeixinJSBridgeReady', () =>WeixinJSBridge.invoke('getNetworkType', {}, () => invoke()))
}
else {WeixinJSBridge.invoke('getNetworkType', {}, () => invoke())
}
// 按钮播放与暂停
$('#start').on('click', function() {if (/iphone/.test(navigator.userAgent.toLowerCase())) {htmlAudio.play()} else {playSound()}
})
$('#stop').on('click', function() {if (/iphone/.test(navigator.userAgent.toLowerCase())) {htmlAudio.pause()} else {stopSound()}
})

微信游览器,解决安卓和ios自动播放音乐相关推荐

  1. 解决H5项目微信浏览器安卓系统无法自动播放背景音乐的问题

    背景 制作的H5项目,使用vedio标签,利用wx.getNetworkType来自动播放背景音乐. 但是安卓的vedio自动播放被微信浏览器限制了. 解决方案 采用web vedio api 细节解 ...

  2. 微信公众号内下载pdf等文件,受微信所限制,安卓和IOS不同处理方式(最最最优版)

    继上一篇文章微信公众号内下载pdf等文件,受微信所限制,安卓和IOS不同处理方式 后觉得还有更好的解决办法,这次真的找到更加优化版本,一定需要后台配合才行:后台接口返回Blob,后端设置respons ...

  3. 解决微信页面加载自动播放音乐

    项目中突然用到了这个功能,于是记录了下来 html: <audio style="display:none; height: 0" id="bg-music&quo ...

  4. 解决iphone 微信H5自动播放音乐问题

    解决iphone 微信H5自动播放音乐问题 参考文章: (1)解决iphone 微信H5自动播放音乐问题 (2)https://www.cnblogs.com/hlhs/p/11157401.html ...

  5. iphone 微信打开H5自动播放音乐问题

    解决iphone 微信H5自动播放音乐问题 --由于苹果的ios系统的安全保护较严格,iphone手机打开微信H5的时候(针对于已对audio标签设置 autoplay为true的H5),通常要先点击 ...

  6. 微信公众号网页 H5 video 标签自动播放

    目录 微信公众号网页 H5 video 标签自动播放 问题描述 解决方案 微信公众号网页 H5 video 标签自动播放 环境:微信公众号网页 需求:H5 video 标签自动播放视频 video 标 ...

  7. html5手机不能自动播放音乐,H5案例---解决H5中背景音乐无法自动播放问题

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 四.完整代码 您的浏览器不支持 audio标签. // 音乐播放 function autoPlayMusic() { // 自动播放音乐效果,解决浏览器 ...

  8. 解决移动端音频自动播放问题

    解决移动端音频自动播放问题 参考文章: (1)解决移动端音频自动播放问题 (2)https://www.cnblogs.com/lcf1314/p/5867010.html 备忘一下.

  9. 微信小程序进入某一页面自动播放背景音乐

    前言:微信小程序进入某一个页面自动播放背景音乐,当退出这个页面时,音乐关闭 wxml代码: <audioloopid="greetings"src="https:/ ...

最新文章

  1. ffmpeg architecture(上)
  2. PHP - 如何实现跨域
  3. docker helowin 迁移_docker-compose 安装 oracle_11g_r2 并实现数据持久化
  4. Delphi 与 DirectX 之 DelphiX(35): TDIB.Saturation();
  5. android SQLite数据库(转)
  6. 求环形数组的最大子数组的和
  7. 矩阵分析与多元统计1 线性空间与线性变换1
  8. JDBC操作步骤及数据库连接操作
  9. js byte数组_这么骚的 js 代码,不怕被揍么
  10. 使用C#实现Form窗体的淡入淡出效果
  11. windows_xp_sp3下的php环境安装配置
  12. 地图相关知识和地图打印色彩差异解决办法
  13. EndNote X9导入文献的5种方式
  14. LabWindows操作Access
  15. 齐次线性方程组的解向量和基础解系
  16. base64解码中文乱码
  17. 高精度绝对角度传感器应用高速度角度监测
  18. TestCenter测试管理工具功能详解十(O)
  19. 快准全!极光iAPP在手,APP动态全都有
  20. 宝塔docker安装Halo

热门文章

  1. 2022年监理工程师考试基本理论与相关法规练习题及答案
  2. 模拟键盘鼠标的API,写压力测试程序常用于模拟点击
  3. 将Matlab计算结果输出至Excel中
  4. inurl look.php id=,xise菜刀后门箱子:PHP注入漏洞关键词关键字大全
  5. 深度学习 神经网络(5)逻辑回归二分类-Pytorch实现乳腺癌预测
  6. 机器学习之期望最大算法
  7. 射频功放学习之HB伽马探针的使用
  8. fsn文件 c语言,笨办法学C 练习24:输入输出和文件
  9. 浦发银行java开发面试_2020浦发银行面经java,面试题(附回答)
  10. FDA认证辅导,FDA要求所有在美国上市的医疗器械产品都需要的步骤