开发过程中遇到ios上部分机型播放没有声音的问题,发现这种情况只会在手机静音模式上出现。经查看文档发现微信提供了解决方法:

设置obeyMuteSwitch为false就可以解决该问题。 要注意做兼容性处理。版本对比采用以下方法,不能直接用字符串比较
// 版本对比 兼容const compareVersion = function(v1, v2) { v1 = v1.split('.') v2 = v2.split('.') const len = Math.max(v1.length, v2.length) while (v1.length < len) { v1.push('0') } while (v2.length < len) { v2.push('0') } for (let i = 0; i < len; i++) { const num1 = parseInt(v1[i]) const num2 = parseInt(v2[i]) if (num1 > num2) { return 1 } else if (num1 < num2) { return -1 } } return 0} const version = wx.getSystemInfoSync().SDKVersion; if (util.compareVersion(version, '2.3.0') >= 0) { wx.setInnerAudioOption({ obeyMuteSwitch: false }) }else{ wx.showModal({ title: '提示', content: '当前微信版本过低,静音模式下可能会导致播放音频失败。' }) }














