花费一天时间,我开发了一个通话录音小程序(苹果手机可用) 您所在的位置:网站首页 苹果手机微信通话录音 花费一天时间,我开发了一个通话录音小程序(苹果手机可用)

花费一天时间,我开发了一个通话录音小程序(苹果手机可用)

2023-07-04 12:30| 来源: 网络整理| 查看: 265

​ 本文将介绍如何使用微信小程序录音API开发一款通话录音小程序。通过该小程序,用户可以轻松录制电话通话内容,并在需要时进行回放或保存。我们将逐步介绍开发过程中所需的关键步骤,包括获取录音权限、录音开始与结束的控制、录音文件的保存和管理等。通过阅读本文,您将了解到如何使用微信小程序录音API构建一个实用的通话录音小程序。

开发录音小程序的目的

​ 本小程序主要解决的问题是苹果手机不能进行通话录音的痛点问题

录音管理器(RecorderManager)

wx.getRecorderManager()

获取全局唯一的录音管理器 RecorderManager

录音权限

scope.record 获取麦克风权限

wx.authorize({ scope: 'scope.record', success() { //开始录音 _this.startRecordMp3 //开始打电话 _this.makePhone(); },

注意⚠️:由于微信小程序拨打电话API无法监听到通话接通后的时间,所以目前折中办法是在调起拨号界面时开始录音

录音监听事件 //监听开始录音 recorderManager.onStart(() => { const time = this.formatDate(new Date()) console.log('录音开始', time) }); //监听录音暂停 recorderManager.onPause(() => { const time = this.formatDate(new Date()) console.log('录音暂停', time) console.log('录音暂停后继续自动录音', time) recorderManager.resume() }) //监听录音继续事件 recorderManager.onResume(() => { const time = this.formatDate(new Date()) console.log('录音继续', time) }) //监听录音因为受到系统占用而被中断 recorderManager.onInterruptionBegin(() => { const time = this.formatDate(new Date()) console.log('录音因为受到系统占用而被中断', time) }) //监听录音结束 recorderManager.onStop((res) => { const time = this.formatDate(new Date()) console.log('录音结束', time, res) //录音结束后回调事件返回录音文件临时路径 //innerAudioContext 音频播放器 innerAudioContext.src = res.tempFilePath }); //监听录音错误事件 recorderManager.onError((err) => { const time = this.formatDate(new Date()) console.log('录音异常', time, err) }) 录音开始与结束的控制 //开始录音 handleTelphone() { const options = { duration: 600000, // 录音时长,单位为毫秒 format: 'mp3', // 音频格式 sampleRate: '8000', //采样率(pc不支持) encodeBitRate:'48000', //编码码率 }; recorderManager.start(options); } /** * 结束录音 */ handleStopRecord() { recorderManager.stop() }, 录音文件的保存和管理 const fs = wx.getFileSystemManager() const FOLDER_NAME = 'recordList'

创建缓存目录

fs.mkdir({ dirPath: `${wx.env.USER_DATA_PATH}/${FOLDER_NAME}`, recursive: false, })

保存录音文件

saveFile(recordFile) { const fileName = new Date().getTime() fs.saveFile({ tempFilePath: recordFile, // 临时文件路径 filePath: `${wx.env.USER_DATA_PATH}/${FOLDER_NAME}/${fileName}.mp3`, success: function (res) { console.log('文件保存成功', res); }, fail: function (err) { console.log('文件保存失败', err); } }); }, 用户界面设计与交互优化

image.png

image.png

image.png

image.png

安全与隐私考虑

通话录音涉及到用户的隐私和敏感信息,因此安全和隐私考虑是开发过程中必不可少的一部分。需要确保录音数据的安全传输和存储,并遵守相关的隐私法规和规定。

当前录音文件只保存在用户本地,不会进行云端存储,因此用户需要妥善保存录音文件,删除小程序之前请将重要的录音文件妥善保存。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有