mp3文件使用wx.getRecorderManager()录制的,android,开发客户端可以播放,iphone7真机不行,代码片段就是《微信开放文档》WebAudioContext 提供样例,除播放地址
const audioCtx = wx.createWebAudioContext()
const loadAudio = (url) => {
return new Promise((resolve) => {
wx.request({
url,
responseType: 'arraybuffer',
success: res => {
console.log('res.data', res.data)
audioCtx.decodeAudioData(res.data, buffer => {
resolve(buffer)
}, err => {
console.error('decodeAudioData fail', err)
reject()
})
},
fail: res => {
console.error('request fail', res)
reject()
}
})
})
}
const play = () => {
loadAudio('www.XXX.com/XXX/1.mp3').then(buffer => {
const source = audioCtx.createBufferSource()
source.buffer = buffer
source.connect(audioCtx.destination)
source.start()
}).catch(() => {
console.log('fail')
})
}
play()
另外 请告知 WebAudioContext android 和Ios分别支持什么格式,aac m4a等等试过几个,android只有mp3能播放,iphone都不行,不知道是哪儿问题。十分感谢!
用 onstatechange 监听下试试