const audio = Taro.createInnerAudioContext()

坑1:ios播放没声音 —>检查是否是静音模式

静音模式下不能播放,或者设置 obeyMuteSwitch = false
在这里插入图片描述

坑2:ios播放了一次后,第二次不能播放 —>play()的位置

play不能放在onplay中

audio.onPlay(() => {
      audio.play()
 })
完整版:
const audio = Taro.createInnerAudioContext()

// 通过百度语音获取文字转语音的url
....

// 播放url
const innerAudioOption = Taro.setInnerAudioOption
if (innerAudioOption) {
  Taro.setInnerAudioOption({
    obeyMuteSwitch: false,
    autoplay: true
  })
} else {
  audio.obeyMuteSwitch = false
  audio.autoplay = true
}

audio.onCanplay(() => {
  console.log('可以播放')
})
audio.onError((err) => {
  console.log('播放失败:', err)
})
audio.autoplay = true
audio.src = url
audio.play()
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐