因为官方文档中innerAudioContext直接复制使用可能会有问题,这里应该将const innerAudioContext = wx.createInnerAudioContext()放到Page外面。其他放到onLoad函数中。
<!-- audio.wxml -->
<audio src="{{src}}" id="myAudio" ></audio>
<button type="primary" bindtap="audioPlay">播放</button>
<button type="primary" bindtap="audioPause">暂停</button>
// audio.js
const innerAudioContext = wx.createInnerAudioContext()
Page({
data: {
src: ''
},
onLoad:function(options){
innerAudioContext.autoplay = true
innerAudioContext.src = 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46'
innerAudioContext.onPlay(() => {
console.log('开始播放')
})
innerAudioContext.onError((res) => {
console.log(res.errMsg)
console.log(res.errCode)
})
innerAudioContext.onPause(
() =>{
console.log('停止播放')
}
)
}
,
audioPlay: function () {
innerAudioContext.play()
},
audioPause:function(){
innerAudioContext.pause()
}
})