微信小程序怎么实现独立的模块

这篇文章主要介绍“微信小程序怎么实现独立的模块”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序怎么实现独立的模块”文章能帮助大家解决问题。

松阳网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、自适应网站建设等网站项目制作,到程序开发,运营维护。成都创新互联公司从2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司

voiceplay.js

//voice player

function prepare(){

 var that = this

 var info_pair = wx.getStorageSync('url2FileMap') || [];

 this.urlMap = new Map();

 info_pair.forEach(function(pair){

   that.urlMap.set(pair.url, pair.file);

 });

}

function saveMap(){

 var info_pair = []

 this.urlMap.forEach(function(file, url, map){

   info_pair.push({url:url, file:file})

 });

 wx.setStorageSync('url2FileMap', info_pair);

}

 //播放铃声文件,优先使用缓存文件,根据需要下载。

 //var url = that.getRingtoneUrl(index)

function play(url) {

 const app = getApp()

 var that = this

 var savedFile = this.urlMap.get(url)

 if (savedFile != undefined) {

   //已经存在缓存文件,直接播放缓存文件

   app.addLog('播放缓存铃声')

   wx.playVoice({

     filePath: savedFile,

     fail: function () {

       //播放缓存文件失败,清除缓存文件信息

       that.urlMap.delete(url);

       that.saveMap();

       //下载并播放缓存文件

       that.downloadAndPlay(url)

     },

   })

 } else {

   //没有缓存文件,下载并播放

   app.addLog('that.downloadAndPlay')

   that.downloadAndPlay(url)

 }

}

 //下载,保存,播放铃声文件。

function downloadAndPlay(url) {

  const app = getApp()

   var that = this

   that.downloadFile({

     url: url,

     success: function (savedFilePath) {

       app.addLog('saveFileSuccess')

       //下载成功,播放文件

       app.addLog('播放下载铃声')

       wx.playVoice({

         filePath: savedFilePath,

       })

       //更新缓存文件信息。

       that.urlMap.set(url,savedFilePath);

       that.saveMap();

     }

   })

 }

 //下载并保存文件

 function downloadFile(parameter) {

   const app = getApp()

   var that = this

   wx.downloadFile({

     url: parameter.url,

     success: function (res) {

       //保存临时文件,以供将来使用

       wx.saveFile({

         tempFilePath: res.tempFilePath,

         success: function (save_res) {

           parameter.success(save_res.savedFilePath)

         }

       })

     },

   })

 }

module.exports = {

 prepare: prepare,

 play: play,

 downloadAndPlay:downloadAndPlay,

 downloadFile:downloadFile,

 saveMap:saveMap

}

用法


经过上述处理,我们就得到了一个通用的音频播放模块,可以在直接在其他小程序中使用。一共分三步,每步就一行。

导入模块

const voiceplayer = require('./utils/voiceplayer.js')

目录有可能需要根据目录结构修改。

初始化

voiceplayer.prepare()

调用prepare函数,取得已经保存的缓存文件信息。

播放音频

voiceplayer.play(media_file_url)

调用play函数,播放指定的音频文件。如果没有缓存文件则首先下载该文件播放并保存以供下次使用。音频文件需要另外准备。

关于“微信小程序怎么实现独立的模块”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注创新互联行业资讯频道,小编每天都会为大家更新不同的知识点。


分享名称:微信小程序怎么实现独立的模块
文章链接:http://pwwzsj.com/article/pcdssi.html