在微信小程序中,可以通过 audio 组件播放网络音频资源。
现在想将音频先下载到本地,之后不用每次都下载,提高用户体验。
使用 wx.downloadFile 接口将音频文件下载后,无法通过 audio 组件或者 wx.playVoice 播放。
请问有没有相应解决方案?
示例代码:
var url = 'https://3grau1mtagozd1pbqgha143btf3tgn4mrqiaggh3qcpzs4.ourdvsss.com/d1.baidupcs.com/file/5a4e0bc78ded498675e8b042183829e4?bkt=p3-14005a4e0bc78ded498675e8b042183829e4d48c992100000002c21f&xcode=3f579862c963326fe8147ec337b560123862daa93a33ec7294b92e463168dc1b&fid=3674267090-250528-1254138521&time=1480644780&sign=FDTAXGERLBH-DCb740ccc5511e5e8fedcff06b081203-XseUFOCe8p7PmjxTbMzmEOizjxM%3D&to=sf&fm=Nan,B,T,t&sta_dx=180767&sta_cs=5316&sta_ft=Mp3&sta_ct=7&sta_mt=7&fm2=Nanjing,B,T,t&newver=1&newfm=1&secfm=1&flow_ver=3&pkey=14005a4e0bc78ded498675e8b042183829e4d48c992100000002c21f&sl=76480591&expires=8h&rt=sh&r=669195344&mlogid=7802661693086635803&vuk=3221603268&vbdid=2267029875&fin=%E5%8D%95%E8%AF%8D%E5%AF%BC%E5%87%BAMP3%E6%96%87%E4%BB%B6%E7%A4%BA%E4%BE%8B.Mp3&fn=%E5%8D%95%E8%AF%8D%E5%AF%BC%E5%87%BAMP3%E6%96%87%E4%BB%B6%E7%A4%BA%E4%BE%8B.Mp3&slt=pm&uta=0&rtype=1&iv=0&isw=0&dp-logid=7802661693086635803&dp-callid=0.1.1&hps=1&csl=336&csign=rwMbCnMmBEUBFeXEXdPhLF5PgwQ%3D&wshc_tag=0&wsts_tag=5840d8ac&wsid_tag=b70fed21&wsiphost=ipdbm'
wx.downloadFile({
url: url,
success: function(res) {
console.log(res.tempFilePath)
wx.playVoice({
filePath: res.tempFilePath,
complete: function (res) {
console.log('playVoice res')
console.log(res)
}
})
}
})
运行结果会打印 res.tempFilePath,但不会播放,也没有打印 'playVoice res'。