本文实例为大家分享了小程序实现录音功能的具体代码,供大家参考,具体内容如下
首先判断权限
getPermission: function() { var that = this; wx.getSetting({ success(res) { console.log(res.authSetting) if (res.authSetting["scope.record"] === false) { wx.showModal({ title: '是否录音', content: '是否录音', success: function (tip) { if (tip.confirm) { wx.openSetting({ success: function (data) { if (data.authSetting["scope.record"] === true) { wx.showToast({ title: '授权成功', icon: 'success', duration: 1000 }) that.startLuYin() //授权成功之后,再调用chooseLocation选择地方 } else { wx.showToast({ title: '授权失败', icon: 'success', duration: 1000 }) } } }) } } }) }else{ that.startLuYin() } } }) },
授权成功后开始录音
startLuYin(){ const options = { duration: 10000 * 6 * 10, //指定录音的时长,单位 ms sampleRate: 16000, //采样率 numberOfChannels: 1, //录音通道数 encodeBitRate: 96000, //编码码率 format: 'mp3', //音频格式,有效值 aac/mp3 frameSize: 50, //指定帧大小,单位 KB } //开始录音 recorderManager.start(options); recorderManager.onStart(() => { console.log('recorder start'); Countdown(this); //开始计时 }); //错误回调 recorderManager.onError((res) => { console.log('recorder出错:' + res); console.log(res); clearTimeout(timer); //出错时停止计时 }) },
暂停录音
// 暂停录音 pause: function() { var that = this; recorderManager.pause() recorderManager.onPause((res) => { console.log(res) console.log('暂停录音') clearTimeout(timer); }) },
继续录音
//继续录音 jixu: function() { var that = this; recorderManager.resume() Countdown(that); //开始计时 recorderManager.onResume((res) => { }) },
停止录音
//停止录音 stop: function() { recorderManager.stop(); recorderManager.onStop((res) => { this.tempFilePath = res.tempFilePath; console.log('停止录音', res.tempFilePath) clearTimeout(timer); }) },
播放声音
//播放声音 play: function() { innerAudioContext.autoplay = true innerAudioContext.src = this.tempFilePath, innerAudioContext.onPlay(() => { console.log('开始播放') }) innerAudioContext.onError((res) => { console.log(res.errMsg) console.log(res.errCode) }) },
// 倒计时 function Countdown(that) { timer = setTimeout(function() { console.log("----secondes----" + formatSeconds(secondes)); secondes++; if (secondes >= 600) { recorderManager.stop(); clearTimeout(timer); } that.setData({ times: formatSeconds(secondes) }); Countdown(that); }, 1000); };
// 时间展示 function formatSeconds(value) { var secondTime = parseInt(value); // 秒 var minuteTime = 0; // 分 var hourTime = 0; // 小时 if (secondTime > 60) { //如果秒数大于60,将秒数转换成整数 //获取分钟,除以60取整数,得到整数分钟 minuteTime = parseInt(secondTime / 60); //获取秒数,秒数取佘,得到整数秒数 secondTime = parseInt(secondTime % 60); //如果分钟大于60,将分钟转换成小时 if (minuteTime > 60) { //获取小时,获取分钟除以60,得到整数小时 hourTime = parseInt(minuteTime / 60); //获取小时后取佘的分,获取分钟除以60取佘的分 minuteTime = parseInt(minuteTime % 60); } } var result; //时间的展示方式为00:00 if (secondTime < 10) { result = "0" + parseInt(secondTime); } else { result = "" + parseInt(secondTime); } if (minuteTime > 0) { if (minuteTime < 10) { result = "0" + parseInt(minuteTime) + ":" + result; } else { result = "" + parseInt(minuteTime) + ":" + result; } } else { result = "00:" + result; } //由于限制时长最多为三分钟,小时用不到 if (hourTime > 0) { result = "" + parseInt(hourTime) + ":" + result; } return result; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
更新日志
2024年11月25日
2024年11月25日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]