小程序
小游戏
企业微信
微信支付
扫描小程序码分享
小程序打开手机录音功能,录音结束,生成的是wxfile://tmp-----mp3格式文件。
请教各位如何将小程序wxfile://tmp.mp3文件转成base64编码的语音数据。
他的解决逻辑是什么流程?
具体代码应该怎么写?
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
试试
FileSystemManager.readFile
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
试试
FileSystemManager.readFile
export default async function({event, data}) {
let jiema=$w.page.dataset.state.luyintext;
//此时的jiema变量值已经是:wxfile://tmp----.mp3
// 获取文件管理器
const fs = wx.getFileSystemManager();
// 读取文件内容
fs.readFile({
filePath:jiema,
encoding: 'base64', //设置编码格式为base64
success(res) {
//获取到文件内容的base64编码
const base64Data = res.data;
console.log("base64Data数据值:"+base64Data);
}
});
}
代码我是这样写的,输出的值:
GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQRChYECGFOAZwH/////////FUmpZpkq17GDD0JATYCGQ2hyb21lV0GGQ2hyb21lFlSua7+uvdeBAXPFh09w+ln19XqDgQKGhkFfT1BVU2Oik09wdXNIZWFkAQEAAIC7AAAAAADhjbWERzuAAJ+BAWJkgSAfQ7Z1Af/////////ngQCjQcCBAACA+4Oltn/8idGlqRede9YD6Malq0y0jCADwWv0rD1rSiVrj/kREuTXO1boi8pl7JP7nr
输出的这个值,进行测试,这个值不是录音音频base64可用值
是不是意味着,需要提取wxfile://tmp----.mp3的实际地址值,
小程序的文件毕竟不像网页一样,它是临时文件路径,再通过小程序fs转成base64去用的话,事实证明行不通。建议你把录音文件先上传后拿到url去用示例1的方式试试,如果通了,就更加佐证你base64的方案不可行