千家信息网

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

发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,这篇文章主要介绍"微信小程序怎么实现独立的模块"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"微信小程序怎么实现独立的模块"文章能帮助大家解决问题。voicep
千家信息网最后更新 2025年01月24日微信小程序怎么实现独立的模块

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

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函数,播放指定的音频文件。如果没有缓存文件则首先下载该文件播放并保存以供下次使用。音频文件需要另外准备。

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

0