现我司需要在小程序内制作一个音频播放器,并可以实现下载到本地,以及播放下载后的本地音频文件,我查阅小程序关于音频文件的API但始终没有找到关于音频下载的这个功能介绍,于是我只能选择按照缓存普通文件的方式缓存音频文件,采用了
wx.saveFile方法缓存音频文件,文件虽然缓存下来了,但是缓存下来的文件格式发生了变化,原音频文件为MP3为后缀,可是缓存下来的文件是html为后缀,无法播放,还请大神帮忙看一下,附上代码
downloadFromServer: function () {
var _this = this;
const downloadTask = wx.downloadFile({
url: app.globalData.InterfaceUrl + '/media/mp3/one_one.mp3', //开启tomcat后的本机ip地址
success: function (res) {
//console.log(res)
wx.saveFile({//对临时资源进行永久保存
tempFilePath: res.tempFilePath,//tempFilePath想要保存的文件的临时地址
success: function (res) {
console.log("保存成功啦")
console.log(res)//res是保存成功的返回值,包含存储路径等
console.log(res.errMsg)//res是保存成功的返回值,包含存储路径等
if (res.errMsg =="saveFile:ok"){
_this.setData({
hidden:false,
downloadSrc: "../../images/on_download.png",
})
}
}
})
}
})
downloadTask.onProgressUpdate((res) => {
console.log('下载进度', res.progress)
this.setData({
downloadPercent: (res.progress * 100).toFixed(2)//toFixed(2)取小数点后两位,更新wxml中progress组件的进度值
})
})
//downloadTask.abort() // 取消下载任务
},
具体如何操作呀
检查一下
/media/mp3/one_one.mp3
下载时候的content-type是不是audio/mp3
因为你是自己的tomcat
有可能是text/html