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
你好,建议打印onError根据返回的信息进行排查。
刚刚看到一个回答,说是onplay无法监听云文件,但是用获取到云文件的http开头的url,还是无法成功播放,为什么为什么??!!