评论

使用wx.chooseMessageFileAPI在微信小程序中处理音频文件

使用小程序自带的API实现音频文件格式转换的文件上传和下载后功能。

今天介绍,在小程序中如何选择音频文件。

我们知道,小程序提供了选择本机图片、视频的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,我们可以将文件分享到聊天,然后通过其他方法保存到电脑,或者另存到手机。

音频格式转换功能包含在上面的小程序码中,可以扫码进行尝试。


最后一次编辑于  01-29  
点赞 2
收藏
评论
登录 后发表内容