文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

小程序中wx.getRecorderManager()录音管理怎么用

2023-06-26 08:39

关注

这篇文章主要为大家展示了小程序中wx.getRecorderManager()录音管理怎么用,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“小程序中wx.getRecorderManager()录音管理怎么用”这篇文章吧。

1.小程序录音管理介绍 wx.getRecorderManager()
基础库 1.6.0 开始支持,低版本需做兼容处理,获取全局唯一的录音管理器 recorderManager。
2.小程序录音管理代码
// 录音管理let record = function (recorderManager) {  this.recorderManager = recorderManager  this.recordStart()}record.prototype = {  // 开始录音  start: function (startObj) {    this.recorderManager.start(startObj)  },  //录音开始事件  recordStart: function () {    this.recorderManager.onStart(() => {      console.log(this.recorderManager, 'this.recorderManager')    })  }}
3.Page onLoad配置
  //录音管理,new 出 第二阶段的实例    recorderManager = wx.getRecorderManager()    that.newRecord = new record(recorderManager)     that.newRecord.recorderManager.onStop((res) => {         console.log(res, '获取录制完的链接')    })    //播放录音    innerAudioContext = wx.createInnerAudioContext()    innerAudioContext.onEnded(() => {      console.log("音频自然播放结束")    })
4.现在开始录音
startRecord() {        let that = this,          startObj = {            duration: 60000,            sampleRate: 44100,            numberOfChannels: 1,            encodeBitRate: 192000,            format: 'mp3',            frameSize: 50          }        //录音开始        that.newRecord.start(startObj)        // 录音计时器        recordTimeInterval = setInterval(function () {        }, 1000)  },
5.停止录音
  stopRecord() {    clearInterval(recordTimeInterval);    //停止录音事件    this.newRecord.recorderManager.stop()  }
6.播放录音
  // 播放录音          playVoice(e) {            let that = this            let srcPath = e.currentTarget.dataset.temppath, // 点击当前传递的播放链接                  duration = e.currentTarget.dataset.duration, // 录音时间                  index = e.currentTarget.dataset.index // 索引            checkArr[index] = srcPath   //用于页面判断播放一个,另一个暂停            // 播放            innerAudioContext.obeyMuteSwitch = false            innerAudioContext.src = srcPath            innerAudioContext.play()            // 时间减少器            playTimeInterval = setInterval(() => {              let playTime = that.data.playTime += 1            }, 1000)          }
7.停止播放
// 停止播放          stopVoice(forIndex, e) {            let index;            e !== undefined ? index = e.currentTarget.dataset.index : index = forIndex            clearInterval(playTimeInterval)            checkArr[index] = undefined            innerAudioContext.stop()          }
8.只能播放一个的代码
  // 只能播放一个          onePlayFor(tempFilePath, src) {            tempFilePath.forEach((el, i) => {              if (el.tempFilePath !== src) {                this.stopVoice(i)              }            })          }
录音与停止录音使用小程序bind:touchstart='startRecord' bind:touchend='stopRecord' 事件

以上就是关于“小程序中wx.getRecorderManager()录音管理怎么用”的内容,如果该文章对您有所帮助并觉得写得不错,劳请分享给您的好友一起学习新知识,若想了解更多相关知识内容,请多多关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯