用innerAudioContext做音频播放时报错,点击一次无法正常播放,需要点击多次.百度没有找到答案,还是得看文档.
会报错的写法:
//播放声音
play: function() {
var that = this;
console.log('点击了试听按钮');
if (!(that.data.isCanRestart)) {
app.showToast('还没有完成朗读')
return;
}
if (!isRecording || tempPath != '') {
innerAudioContext.play(); //兼容起见用它
innerAudioContext.src = tempPath,
innerAudioContext.onPlay(() => {
console.log('开始播放')
})
innerAudioContext.onError((res) => {
console.log(res.errMsg)
console.log(res.errCode)
})
} else {
app.showToast('无法播放,请稍后重试');
}
}
需要用到onCanplay的回调,可以播放之后再进行播放
//播放声音
play: function() {
var that = this;
console.log('点击了试听按钮');
if (!(that.data.isCanRestart)) {
app.showToast('还没有完成朗读')
return;
}
if (!isRecording || tempPath != '') {
innerAudioContext.src = tempPath,
innerAudioContext.onPlay(() => {
console.log('开始播放')
})
innerAudioContext.onError((res) => {
console.log(res.errMsg)
console.log(res.errCode)
})
innerAudioContext.onCanplay(() => {
console.log("onCanplay")
innerAudioContext.play(); //兼容起见用它
})
} else {
app.showToast('无法播放,请稍后重试');
}
}
})