微信小程序开发实战(27):录音 - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 小程序相关 >

微信小程序开发实战(27):录音

发表时间:2021-1-6

发布人:葵宇科技

浏览次数:37

通过 wx.startRecord wx.stopRecord 方法,可以录制和停止录制音频。如果成功录制音频,会将音频存在临时文件中,并返回临时音频文件名,以便后续处理。

与大多数 API 一样,这两个方法都可以传入对象类型参数,对于这两个方法来说,只有 3 个事件属性: success fail complete 。含义与其他方法同名属性类似。

下面的布局代码在窗口上放置两种按钮:“开始录音”和“停止录音”。

<view style="margin:20px">
  <button  bindtap="startRecord">开始录音</button>
  <button style = "margin-top:10px" bindtap="stopRecord">停止录音</button>
</view>

点击这两个按钮,分别调用 startRecord stopRecord 函数,这两个函数及相关代码如下:

var app = getApp()
Page({
  data: {
    recording: false,   //  表示当前是否正在录制
    hasRecord: false,   //  表示当前是否已经成功录制,并成功生成了音频临时文件
  },
  //录制音频
 startRecord: function () {
var that = this;
//  开始录制音频
wx.startRecord({
  // 录制成功后调用
      success: function (res) {
        console.log(res.tempFilePath);
        that.setData({
          hasRecord: true,
          tempFilePath: res.tempFilePath,    //  保存音频文件临时路径       
        })
},
//  不管录制成功还是失败,都会调用该方法,用于收尾工作
      complete: function () {
        that.setData({ recording: false })
      }
    })
  },
 //  停止音频录制
 stopRecord:function()
{
   var that = this;
   console.log(this.data.tempFilePath);
    wx.stopRecord({
      success: function() {
        console.log('stop record success')
        that.setData({
          recording: false,
          hasRecord: false,
        })
      }
    })
 }
 
})

第一次点击“开始录音”按钮后,会弹出个对话框,询问是否授权音频录制,授权后,才会开始录制音频,当第一次授权后,以后不会再次弹出该授权对话框。

要注意的是,小程序模拟器对录音支持的并不好,因此,需要使用真机测试本节的例子。开启小程序真机调试模式后,点击“开始录音”按钮,弄出点声音,然后再点击“停止录音”按钮,会在真机的 Console 中输入如图 1 的临时音频文件路径。

图1  临时音频文件路径

相关案例查看更多