微信小程序的录音图片上传

Posted 海里的鱼-L

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序的录音图片上传相关的知识,希望对你有一定的参考价值。

思路:微信小程序中的录音文件存放地址是临时地址,所以发送给后台时是需要用wx.saveFile() 先下载到本地,地址变为本地地址,然后再上传给后台 。

录音上传

// 录音功能
start() {// console.log(‘开始录音‘)
 const recorderManager = wx.getRecorderManager();
 const options = {
  duration: 10000,
  sampleRate: 44100,
  numberOfChannels: 1,
  encodeBitRate: 192000,
  format: ‘mp3‘,
  frameSize: 50,
  audiosource: ‘auto‘
 }
 // 开始录音
 recorderManager.start(options)
},
// 录音结束
send() {// console.log(‘录音结束‘)
 let that = this;
 const recorderManager = wx.getRecorderManager();
 recorderManager.stop();
 // 监听录音结束事件
 recorderManager.onStop((res) => {
   wx.saveFile({ // 下载到本地
    tempFilePath: res.tempFilePath,
    success(res2) {
       that.setData({
       voice: res2.savedFilePath
     })
   },
   fail(error) {
    console.log(error)
   }
 })
 const { tempFilePath } = res
 })
 // 监听已录制完指定帧大小的文件事件。如果设置了 frameSize,则会回 
 调此事件
 recorderManager.onFrameRecorded((res) => {
 const { frameBuffer } = res
 })
}

图片上传

// 上传图片
  imgUpload() {
    var that = this;
    wx.chooseImage({
      sizeType: [‘original‘, ‘compressed‘], // 可选择原图或压缩后的图片
      sourceType: [‘album‘, ‘camera‘], // 可选择性开放访问相册、相机
      success: res => {
        var tempFilePaths = res.tempFilePaths;
        var imgs = that.data.images;
        for (var i = 0; i < tempFilePaths.length; i++) {
          if (imgs.length >= 9) {
            that.setData({
              images: imgs
            });
            return false;
          } else {
            imgs.push(tempFilePaths[i]);
          }
        }
        that.setData({
          images: imgs
        });
      }
    })
  }

 

以上是关于微信小程序的录音图片上传的主要内容,如果未能解决你的问题,请参考以下文章

简述 18.8.18 现有的微信小程序API能力

微信小程序-图片录音音频播放音乐播放视屏文件

微信小程序用户上传用户图片数据太大,怎么样能降低图片像素

微信小程序excel添加图片

微信小程序录音实现

微信小程序实现图片是上传预览功能