前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微信小程序开发实战(27):录音

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

作者头像
蒙娜丽宁
发布2020-09-07 17:01:46
1.1K0
发布2020-09-07 17:01:46
举报
文章被收录于专栏:极客起源极客起源

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

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

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

代码语言:javascript
复制
<view style="margin:20px">
  <button  bindtap="startRecord">开始录音</button>
  <button style = "margin-top:10px" bindtap="stopRecord">停止录音</button>
</view>

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

代码语言:javascript
复制
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 临时音频文件路径

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 极客起源 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档