微信小程序实现录音Record功能


Posted in Javascript onMay 09, 2021

本文实例为大家分享了微信小程序实现录音Record功能的具体代码,供大家参考,具体内容如下

布局

<!--pages/record/record.wxml-->
<view>
 <button 
  class="tui-menu-list"
  bindtap="startRecordAac" 
  type="primary">录音开始(aac)</button>
 <button 
  class="tui-menu-list"
  bindtap="startRecordMp3" 
  type="primary">录音开始(mp3)</button>
 <button 
  class="tui-menu-list" 
  bindtap="stopRecord" 
  type="primary">录音结束</button>
 <button 
  class="tui-menu-list"
  bindtap="playRecord" 
  type="primary">播放录音</button>
</view>

样式:

/* pages/record/record.wxss */
 
.tui-menu-list{
  flex-direction: row;
  margin: 20rpx;
  padding: 20rpx;
}

开始录音和停止录音

// pages/record/record.js
Page({
 
  /**
   * 页面的初始数据
   */
  data: {
 
  },
 
  onLoad:function (options) {
    var that = this
    this.recorderManager = wx.getRecorderManager();
    this.recorderManager.onError(function () {
      that.tip("录音失败!");
    })
    this.recorderManager.onStop(function (res) {
      that.setData({
        src:res.tempFilePath
      })
      console.log(res.tempFilePath)
      that.tip("录音完成!")
    })
    this.innerAudioContext = wx.createInnerAudioContext()
    this.innerAudioContext.onError((res) =>{
      that.tip("播放录音失败!")
    })
  },
 
  //提示
  tip:function (msg) {
    wx.showModal({
      cancelColor: 'cancelColor',
      title:'提示',
      content:msg,
      showCancel:false
    })
  },
 
  //录制aac
  startRecordAac:function () {
    this.recorderManager.start({
      format:'aac'
    })
  },
 
  //录制mp3
  startRecordMp3:function () {
    this.recorderManager.start({
      format:'mp3'
    })
  },
 
  //停止录音
  stopRecord:function () {
    this.recorderManager.stop()
  },
 
  //播放录音
  playRecord:function () {
    var that = this
    var src = this.data.src
    if (src='') {
      this.tip('请先录音')
      return
    }
    this.innerAudioContext.src = this.data.src
    this.innerAudioContext.play()
  }
 
  
})

效果图:

微信小程序实现录音Record功能

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Js如何判断客户端是PC还是手持设备简单分析
Nov 22 Javascript
JS获取当前页面名称的简单实例
Aug 19 Javascript
Javascript中indexOf()和lastIndexOf应用方法实例
Aug 24 Javascript
移动前端图片压缩上传的实例
Dec 06 Javascript
JS运动特效之同时运动实现方法分析
Jan 24 Javascript
Vue使用高德地图搭建实时公交应用功能(地图 + 附近站点+线路详情 + 输入提示+换乘详情)
May 16 Javascript
详解jenkins自动化部署vue
May 14 Javascript
layui 数据表格 点击分页按钮 监听事件的实例
Sep 02 Javascript
JS精确判断数据类型代码实例
Dec 18 Javascript
微信小程序后端实现授权登录
Feb 24 Javascript
vue大型项目之分模块运行/打包的实现
Sep 21 Javascript
nestjs中异常过滤器Exceptionfilter的具体使用
Feb 07 Javascript
如何用JavaScipt测网速
May 09 #Javascript
浅谈JS的二进制家族
如何使用vue3打造一个物料库
Ajax常用封装库——Axios的使用
May 08 #Javascript
微信小程序用户授权最佳实践指南
vue完美实现el-table列宽自适应
详解JS WebSocket断开原因和心跳机制
May 07 #Javascript
You might like
漂亮但不安全的CTB
2006/10/09 PHP
php数组函数序列之prev() - 移动数组内部指针到上一个元素的位置,并返回该元素值
2011/10/31 PHP
php 操作符与控制结构
2012/03/07 PHP
用PHP编写和读取XML的几种方式
2013/01/12 PHP
php汉字转拼音的示例
2014/02/27 PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
2016/05/06 PHP
PHP SFTP实现上传下载功能
2017/07/26 PHP
ext combox 下拉框不出现自动提示,自动选中的解决方法
2010/02/24 Javascript
JavaScript学习历程和心得小结
2010/08/16 Javascript
页面使用密码保护代码
2013/04/10 Javascript
Angular2学习笔记——详解路由器模型(Router)
2016/12/02 Javascript
jquery实现表单获取短信验证码代码
2017/03/13 Javascript
JavaScript面向对象精要(下部)
2017/09/12 Javascript
vue使用element-ui的el-input监听不了回车事件的解决方法
2018/01/12 Javascript
js replace 全局替换的操作方法
2018/06/12 Javascript
node.js中TCP Socket多进程间的消息推送示例详解
2018/07/10 Javascript
Vue.js 图标选择组件实践详解
2018/12/03 Javascript
利用Webpack实现小程序多项目管理的方法
2019/02/25 Javascript
Node.js实现批量下载图片简单操作示例
2020/01/18 Javascript
在vscode 中设置 vue模板内容的方法
2020/09/02 Javascript
[46:55]LGD vs Liquid 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
Python实现删除Android工程中的冗余字符串
2015/01/19 Python
python 获取等间隔的数组实例
2019/07/04 Python
全面总结使用CSS实现水平垂直居中效果的方法
2016/03/10 HTML / CSS
.NET概念性的面试题
2012/02/29 面试题
在校硕士自我鉴定
2014/01/23 职场文书
《玩具柜台前的孩子》教学反思
2014/02/13 职场文书
幼儿园中班教师寄语
2014/04/03 职场文书
小班幼儿评语大全
2014/04/30 职场文书
服装仓管员岗位职责
2014/06/17 职场文书
小学教师师德师风自我剖析材料
2014/09/29 职场文书
小学新教师个人总结
2015/02/05 职场文书
高中化学教学反思
2016/02/22 职场文书
导游词之桂林山水
2019/09/20 职场文书
使用 Apache 反向代理的设置技巧
2022/01/18 Servers
使用 DataAnt 监控 Apache APISIX的原理解析
2022/07/07 Servers