private source=null;
async fdsafdsaf(){
if(this.source==null){
const audioCtx = wx.createWebAudioContext()
const loadAudio = (url) => {
return new Promise((resolve) => {
wx.request({
url,
responseType: 'arraybuffer',
success: res => {
//onsole.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('https://……/按键声音.ogg').then(buffer => {
this. source = audioCtx.createBufferSource()
this.source.buffer = buffer
this.source.connect(audioCtx.destination)
this.source.start()
}).catch(() => {
//console.log('fail')
})
}
//play()
}
this.source.start();
}