微信小程序createInnerAudioContext播放MP3报错: decode audio fail
1. 当前 Bug 的表现
由于需求是语音播报,即:将文字转换成语音播放,这里使用的是微信小程序自带的插件:微信同声传译,会提供mp3形式的音频文件地址。
2. 错误表现
安卓上使用innerAudioContext播放的时候,在播放快要结束的时候,安卓真机上音频文件播放到一半的时候报错,控制台会报decode audio fail,现象是语音播放不完整,具体原因不明。
错误信息:errCode:1001 errMsg: 'errCode67,err:decode audio fail'
3. 处理方式
这里提供一种解决方法,我这边修改之后解决了这个问题,仅提供参考:
方式: 把第三方服务器上的语音缓存到本地了,读取的本地的临时文件地址,先下载之后,再播放本地的文件。
uni.downloadFile({
url: _url,
success: (res) => {
if (res.statusCode === 200) {
console.log('下载成功');
innerAudioContext.src = res.tempFilePath;
innerAudioContext.play();
}
}
})
4. 参考
也看了大佬的分享,也记录一下,以供参考以及自己之后查阅
大佬分析图
https://developers.weixin.qq.com/community/develop/doc/000c64496989e00b2ba8daa0356800
https://developers.weixin.qq.com/community/develop/doc/000288526482483d1079b880e51000?_at=1577555364896
网友评论