uni-app 通话录音插件

发布于 1周前 作者 bupafengyu 来自 Uni-App

uni-app 通话录音插件

目前录音只能录外置录音,我想录制通话录音

4 回复

录制通话录音 插件,可以做, qq :1196097915

支持Android13、通话状态监听、通话录音文件获取、通话自动录音、通话记录获取:https://ext.dcloud.net.cn/plugin?id=11480

针对uni-app通话录音插件的需求,我们可以使用H5+ API来实现录音功能,因为uni-app原生支持HTML5+扩展API,这些API提供了丰富的设备访问能力,包括录音功能。以下是一个基本的录音功能实现示例,适用于uni-app项目。

首先,确保你的项目已经配置了manifest.json中的5+ App权限设置,允许录音权限:

"permissions": {
    "RecordAudio": {
        "desc": "录音"
    }
}

接下来,在需要录音的页面中,我们可以使用plus.recorder.createRecorder方法来创建一个录音对象,并监听相关事件。以下是一个完整的录音功能实现代码示例:

<template>
  <view>
    <button @click="startRecording">开始录音</button>
    <button @click="stopRecording" :disabled="!isRecording">停止录音</button>
    <audio :src="audioSrc" controls v-if="audioSrc"></audio>
  </view>
</template>

<script>
export default {
  data() {
    return {
      recorder: null,
      isRecording: false,
      audioSrc: ''
    };
  },
  methods: {
    startRecording() {
      if (this.isRecording) return;
      this.isRecording = true;
      this.recorder = plus.recorder.createRecorder({
        filename: '_doc/record.mp3', // 录音文件保存路径
        format: 'mp3' // 录音文件格式
      });

      this.recorder.start({
        success: () => {
          console.log('录音开始');
        },
        fail: (e) => {
          console.error('录音失败:', e);
        }
      });

      this.recorder.on('statechange', (e) => {
        if (e.newState === 3) { // 录音结束状态
          this.stopRecording();
        }
      });
    },
    stopRecording() {
      if (!this.isRecording) return;
      this.isRecording = false;
      this.recorder.stop({
        success: (e) => {
          console.log('录音停止:', e);
          this.audioSrc = '_www/' + e.filename; // 获取录音文件路径并设置为音频源
        },
        fail: (e) => {
          console.error('停止录音失败:', e);
        }
      });
    }
  }
};
</script>

<style scoped>
/* 添加你的样式 */
</style>

上述代码创建了一个简单的录音界面,包含开始录音和停止录音两个按钮,以及一个用于播放录音的音频控件。录音文件保存在应用的_doc目录下,并以mp3格式存储。录音完成后,音频控件将自动加载并播放录音文件。

请注意,上述代码示例基于HTML5+ API,在HBuilderX IDE中运行效果最佳,因为HBuilderX对HTML5+ API有完整的支持。在其他环境中可能需要额外的适配工作。

回到顶部