更新记录
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 PCM、Mono
- 默认采样率:
16000
支持平台
引入方式
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 回调中的 data 为 Uint8Array,内容为小端序 PCM 音频字节流。常见使用方式是直接转成 ArrayBuffer 后送入 WebSocket、ASR 或自定义音频处理流程。
注意事项
- 首次使用前需要授权麦克风权限。
startRecord 处于录音中时再次调用,会直接返回成功。
- 停止录音后,已注册的实时数据回调不再继续输出。
开发文档