這篇文章主要介紹“微信小程序怎么實現獨立的模塊”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“微信小程序怎么實現獨立的模塊”文章能幫助大家解決問題。
松陽網站制作公司哪家好,找成都創(chuàng)新互聯公司!從網頁設計、網站建設、微信開發(fā)、APP開發(fā)、自適應網站建設等網站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯公司從2013年成立到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選成都創(chuàng)新互聯公司。
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);
}
//播放鈴聲文件,優(yōu)先使用緩存文件,根據需要下載。
//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函數,播放指定的音頻文件。如果沒有緩存文件則首先下載該文件播放并保存以供下次使用。音頻文件需要另外準備。
關于“微信小程序怎么實現獨立的模塊”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識,可以關注創(chuàng)新互聯行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。