网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

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

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

松阳网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、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函数,播放指定的音频文件。如果没有缓存文件则首先下载该文件播放并保存以供下次使用。音频文件需要另外准备。

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


新闻标题:微信小程序怎么实现独立的模块
网站URL:http://bjjierui.cn/article/pcdssi.html

其他资讯