今天介绍,在小程序中如何选择音频文件。
我们知道,小程序提供了选择本机图片、视频的API,但没有提供用于选择音频文件的API。我们可以变通下,使用wx.chooseMessageFile,这个API可以选择聊天会话中的文件,在聊天会话中,我们选择文件,可以选择本机的音频文件,我们选择后,可以发送给朋友,然后使用这个API进行选择音频文件然后再进行处理。这个API我们限制一下,只选择音频文件,所以我们让API选择的音频文件为后缀为.mp3和.m4a的文件。我们需要这样使用API,填写扩展名,并且设置文件类型,我们还可以限制待选取的文件大小,代码如下:
wx.chooseMessageFile({
count: 1,
type: 'file',
extension: ['.m
4a', '.mp3'],
success(res) {
const filepath = res.tempFiles[0].path
const filename = res.tempFiles[0].name
const filesize = res.tempFiles[0].size
if (filesize <= 2048000) {
that.setData({
filepath: filepath,
filename: filename,
audioExist: true,
});
} else {
wx.showToast({
title: '文件超过2M',
})
}
}
})
上面的代码就选择了音频文件,并且存储了音频文件的路径和名称,这样我们就可以进一步,将音频文件上传到服务器,在服务器端,我们将音频文件进行格式转换工作,转换成功后,我们还需要将转换后的音频文件下载供用户使用。下载后的音频文件虽然无法直接报错,但是可以使用音频播放器进行播放试听。我们还需要再变通一下,我们选择另一个API,wx.shareFileMessage,虽然微信小程序不支持直接将音频文件保存到手机,但是通过这个API,我们可以将文件分享到聊天,然后通过其他方法保存到电脑,或者另存到手机。
音频格式转换功能包含在上面的小程序码中,可以扫码进行尝试。