您好,登錄后才能下訂單哦!
這篇文章主要介紹“微信小程序怎么實(shí)現(xiàn)獨(dú)立的模塊”的相關(guān)知識,小編通過實(shí)際案例向大家展示操作過程,操作方法簡單快捷,實(shí)用性強(qiáng),希望這篇“微信小程序怎么實(shí)現(xiàn)獨(dú)立的模塊”文章能幫助大家解決問題。
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)先使用緩存文件,根據(jù)需要下載。
//var url = that.getRingtoneUrl(index)
function play(url) {
const app = getApp()
var that = this
var savedFile = this.urlMap.get(url)
if (savedFile != undefined) {
//已經(jīng)存在緩存文件,直接播放緩存文件
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
}
用法
經(jīng)過上述處理,我們就得到了一個通用的音頻播放模塊,可以在直接在其他小程序中使用。一共分三步,每步就一行。
導(dǎo)入模塊
const voiceplayer = require('./utils/voiceplayer.js')
目錄有可能需要根據(jù)目錄結(jié)構(gòu)修改。
初始化
voiceplayer.prepare()
調(diào)用prepare函數(shù),取得已經(jīng)保存的緩存文件信息。
播放音頻
voiceplayer.play(media_file_url)
調(diào)用play函數(shù),播放指定的音頻文件。如果沒有緩存文件則首先下載該文件播放并保存以供下次使用。音頻文件需要另外準(zhǔn)備。
關(guān)于“微信小程序怎么實(shí)現(xiàn)獨(dú)立的模塊”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點(diǎn)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。