音频文件如何缓存到本地,和播放缓存到本地的音频文件
发布于 6 年前 作者 yongding 8415 次浏览 来自 问答

现我司需要在小程序内制作一个音频播放器,并可以实现下载到本地,以及播放下载后的本地音频文件,我查阅小程序关于音频文件的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() // 取消下载任务

   },

2 回复

具体如何操作呀

检查一下

/media/mp3/one_one.mp3

下载时候的content-type是不是audio/mp3

因为你是自己的tomcat

有可能是text/html

回到顶部