更新记录

1.0.0(2026-06-24)

  • 首次发布 jf-real-audio 实时录音插件。
  • 支持 startRecord / stopRecord 两个核心接口。
  • 支持在录音过程中通过 onAudioData 实时回调 PCM 数据。
  • Android 侧完成麦克风权限申请、AudioRecord 录音采集与数据转码。
  • iOS 侧完成麦克风权限申请、AVAudioEngine 录音采集与 PCM 转换。
  • 统一输出 Uint8Array 音频数据,默认采样率 16000
  • 增加基础错误码:
    • 9010001:麦克风权限未授权
    • 9010002:录音初始化或执行失败

平台兼容性

uni-app(4.83)

Vue2 Vue3 Vue3插件版本 Chrome Safari app-vue app-vue插件版本 app-nvue Android Android插件版本 iOS iOS插件版本 鸿蒙
× 1.0.0 × × 1.0.0 - 6.0 1.0.0 16 1.0.0 -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
× × × × × × × × × × × ×

jf-real-audio

jf-real-audio 是一个用于 uni-app / UTS 的实时音频采集插件,提供麦克风录音和 PCM 数据流回调能力,适合语音识别、实时转写、音频上传等场景。

功能

  • startRecord:开始录音
  • stopRecord:停止录音
  • onAudioData:实时输出 Uint8Array 音频数据
  • 默认输出格式:16bit PCMMono
  • 默认采样率:16000

支持平台

  • App-Android
  • App-iOS

引入方式

import { startRecord, stopRecord } from '@/uni_modules/jf-real-audio';

使用示例

startRecord({
  sampleRate: 16000,
  onAudioData: (res) => {
    console.log('audio bytes', res.data);
  },
  success: () => {
    console.log('start success');
  },
  fail: (err) => {
    console.error('start fail', err);
  },
  complete: () => {}
});

// 停止录音
stopRecord({
  success: () => {
    console.log('stop success');
  }
});

参数说明

startRecord(options)

参数 类型 必填 说明
sampleRate number 采样率,默认 16000
onAudioData (res: { data: Uint8Array }) => void 实时音频数据回调
success (res: any) => void 开始录音成功回调
fail (res: IUniError) => void 开始录音失败回调
complete (res: any) => void 结束回调

stopRecord(options)

参数 类型 必填 说明
success (res: any) => void 停止录音成功回调
fail (res: IUniError) => void 停止录音失败回调
complete (res: any) => void 结束回调

错误码

  • 9010001:麦克风权限未授权
  • 9010002:录音初始化失败、设备异常或运行时错误

数据说明

onAudioData 回调中的 dataUint8Array,内容为小端序 PCM 音频字节流。常见使用方式是直接转成 ArrayBuffer 后送入 WebSocket、ASR 或自定义音频处理流程。

注意事项

  • 首次使用前需要授权麦克风权限。
  • startRecord 处于录音中时再次调用,会直接返回成功。
  • 停止录音后,已注册的实时数据回调不再继续输出。

开发文档

隐私、权限声明

1. 本插件需要申请的系统权限列表:

需要申请麦克风权限

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

本插件仅采集设备麦克风音频数据,用于实时语音识别或音频流处理;插件本身不包含服务器地址,也不主动将数据上传至第三方服务器。

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。