微信小程序解决ios上createInnerAudioContext播放没声音的问题

开发过程中遇到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: '当前微信版本过低,静音模式下可能会导致播放音频失败。'
      })
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章