溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微信小程序怎么實現獨立的模塊

發布時間:2022-01-13 15:35:59 來源:億速云 閱讀:234 作者:iii 欄目:大數據

這篇文章主要介紹“微信小程序怎么實現獨立的模塊”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“微信小程序怎么實現獨立的模塊”文章能幫助大家解決問題。

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函數,播放指定的音頻文件。如果沒有緩存文件則首先下載該文件播放并保存以供下次使用。音頻文件需要另外準備。

關于“微信小程序怎么實現獨立的模塊”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女