收藏
回答

ios无法播放InnerAudioContext?

API:wx.createInnerAudioContext

模拟器中可播放音频,但ios真机不可

const thisAudio = wx.createInnerAudioContext();  

audioPlay:function() {
    thisAudio.src = this.data.soundID
    console.log(thisAudio.src)
    if (!this.data.isPlay) {
      thisAudio.play()
      this.setData({ 
        isPlay: true,
        hintImg: "/assets/icon/暂停.svg",
        })
    }
    else {
      thisAudio.pause()
      this.setData({
        isPlay: false ,
        hintImg: "/assets/icon/播放.svg",
      })
      console.log("播放暂停")
    }

    thisAudio.onPlay(() => {
      console.log('正在播放')
    })


    thisAudio.onEnded(() => {
      console.log('播放结束')
      this.setData({ isPlay: false })
    })
    thisAudio.onError((res) => {
      console.log(res.errMsg)
      console.log(res.errCode)
      this.setData({ 
        isPlay: false,
        hintImg: "/assets/icon/播放.svg",
      })
    })
  },

模拟器如下,这里也有个很奇怪的地方,第一次onPlay是不会打印信息的,但是暂停之后继续点击播放,才打印出“正在播放”

ios真机如下,监听事件onPlay未监听到正在播放,这是什么原因?我前几天测试的时候是可以的,但是今天不行了。如果不是用云文件id,而是获取播放地址的话,试了一下也还是不行。。。

手机型号:iphone8p 微信版本:7.0.12


回答关注问题邀请回答
收藏

2 个回答

  • 社区技术运营专员-娇华
    社区技术运营专员-娇华
    04-07

    你好,建议打印onError根据返回的信息进行排查。

    04-07
    有用
    回复
  • lay
    lay
    04-05

    刚刚看到一个回答,说是onplay无法监听云文件,但是用获取到云文件的http开头的url,还是无法成功播放,为什么为什么??!!

    04-05
    有用
    回复
登录 后发表内容
问题标签