一、问题描述:audio标签在IOS系统下无法自动播放。
原因:在IOS或是一些浏览器限制下,audio或video标签无法自动播放,console会提示no user gesture is required,必须通过用户通过事件触发才可以完成播放。
解决方法:既然需要用户触发事件来播放,那我的解决办法就是直接用户在点击body的时候触发播放(反正我这个项目情况用户肯定会先点的,如果没有让用户点击的诱因,可以自己做一个,比如“点我开启”这类)。 一开始上面解决方法在安卓上面用的不错,但后来突然在苹果上面就出问题了,自动播放成了概率问题了,一会有一会没有,查遍所有资料才知道,这块必须得如下写,在wx.ready里面让他播放一次,我放的是无声的音频:
wx.ready(()=> {
document.getElementById("voice0").src="http://jiaoxue.xxx.com/noVoice.wav"
document.getElementById("voice0-1").src="http://jiaoxue.xxx.com/noVoice.wav"
document.getElementById("voice0-2").src="http://jiaoxue.xxx.com/noVoice.wav"
document.getElementById("voice1").src="http://jiaoxue.xxx.com/noVoice.wav"
document.getElementById("voice1-1").src="http://jiaoxue.xxx.com/noVoice.wav"
document.getElementById("voice1-2").src="http://jiaoxue.xxx.com/noVoice.wav"
document.getElementById("voice2").src="http://jiaoxue.xxx.com/noVoice.wav"
document.getElementById("voice2-1").src="http://jiaoxue.xxx.com/noVoice.wav"
document.getElementById("voice2-2").src="http://jiaoxue.xxx.com/noVoice.wav"
document.getElementById("voice3").src="http://jiaoxue.xxx.com/noVoice.wav"
document.getElementById("voice3-1").src="http://jiaoxue.xxx.com/noVoice.wav"
document.getElementById("voice3-2").src="http://jiaoxue.xxx.com/noVoice.wav"
let voice = {
localId: '',
serverId: ''
};
let startRecord = document.querySelector('#startRecord');
let stopClearTimeout;
});
|