js_audio_capturer
js_audio_capturer 提供 JS 音频录制模块接口,封装音频采集的启动、停止、事件监听及生命周期管理功能,支持标准模式与 XiaoduVoice 模式的音频采集。
Class Summary
OHOS::ACELite::AudioCapturerModule
JS 音频录制模块,提供音频采集的启动、停止、事件监听及生命周期管理接口
- 构造:无
-
成员函数:
接口名称 功能简述 Start 启动音频采集 Stop 停止音频采集 start 按参数模式启动音频采集(支持 XiaoduVoice 模式) stop 停止音频采集 ListenerOn 注册音频采集事件监听回调 Cancel 取消音频采集操作 ListenerOff 注销音频采集事件监听回调 ExceptionStop 异常情况下停止音频采集 OnDestroy 对象销毁时的回调处理 OnTerminate 模块终止时的回调处理 -
使用包含头文件:
#include "recording_module.h" - 声明头文件:
src/middleware/services/media/foundation/audio_capturer/interfaces/kits/audio_capturer_lite/recording_module.h - 公有运算符:无
- 继承关系:MemoryHeap
- 嵌套类型:无
- 模板形参:无
Functions
AudioCaptureSample
功能说明
- 提供音频采集的示例入口函数
- 用于演示音频采集功能的基本调用流程
- 函数声明于
extern "C"块内,可在 C/C++ 环境中调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| argc | int32_t | 命令行参数数量 | ≥ 0 |
| argv | const char *[] | 命令行参数数组,入参只读指针,不修改所指对象 | 非 nullptr |
返回值
- 返回类型:
int32_t
返回执行结果
| 返回值 | 触发场景 |
|---|---|
| 0 | 执行成功 |
| 非0 | 执行失败 |
OHOS::ACELite::InitAudioCapturerModule
功能说明
- 初始化音频录制模块,将模块接口注册到 JSI 导出对象
- 在 JS 框架加载音频录制模块时调用,完成模块与 JS 运行时的绑定
- 调用后 JS 层可通过导出对象访问音频录制相关接口
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| exports | JSIValue | JSI 导出对象,用于注册模块接口 | 有效的 JSIValue |
Start
功能说明
- 启动音频采集功能
- 静态成员函数,不依赖对象实例,通过类名直接调用
- 调用后音频采集进入运行状态
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| thisVal | JSIValue | JS 调用时的 this 对象 | 有效的 JSIValue |
| args | const JSIValue * | JS 调用参数数组,入参只读指针,不修改所指对象 | argsSize > 0 时非 nullptr |
| argsSize | uint8_t | 参数数量 | 0 ~ 255 |
返回值
- 返回类型:
JSIValue
返回 JSI 调用结果
| 返回值 | 触发场景 |
|---|---|
| JSIValue | 返回 JS 执行结果值 |
Stop
功能说明
- 停止音频采集功能
- 静态成员函数,不依赖对象实例,通过类名直接调用
- 调用后音频采集停止运行
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| thisVal | JSIValue | JS 调用时的 this 对象 | 有效的 JSIValue |
| args | const JSIValue * | JS 调用参数数组,入参只读指针,不修改所指对象 | argsSize > 0 时非 nullptr |
| argsSize | uint8_t | 参数数量 | 0 ~ 255 |
返回值
- 返回类型:
JSIValue
返回 JSI 调用结果
| 返回值 | 触发场景 |
|---|---|
| JSIValue | 返回 JS 执行结果值 |
start
功能说明
- 按参数模式启动音频采集,支持不同的采集模式
- 当参数中包含 XiaoduVoice 标识时启动 XiaoduVoice 模式,否则启动标准音频采集模式
- 参数中可包含 buffersize、format 等音频采集属性配置
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| thisVal | JSIValue | JS 调用时的 this 对象 | 有效的 JSIValue |
| args | const JSIValue * | JS 调用参数数组,包含采集属性配置(如 buffersize、format 等),入参只读指针,不修改所指对象 | argsSize > 0 时非 nullptr |
| argsSize | uint8_t | 参数数量 | 0 ~ 255 |
返回值
- 返回类型:
JSIValue
返回 JSI 调用结果
| 返回值 | 触发场景 |
|---|---|
| JSIValue | 返回 JS 执行结果值 |
stop
功能说明
- 停止音频采集功能
- 静态成员函数,不依赖对象实例,通过类名直接调用
- 调用后音频采集停止运行
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| thisVal | JSIValue | JS 调用时的 this 对象 | 有效的 JSIValue |
| args | const JSIValue * | JS 调用参数数组,入参只读指针,不修改所指对象 | argsSize > 0 时非 nullptr |
| argsSize | uint8_t | 参数数量 | 0 ~ 255 |
返回值
- 返回类型:
JSIValue
返回 JSI 调用结果
| 返回值 | 触发场景 |
|---|---|
| JSIValue | 返回 JS 执行结果值 |
ListenerOn
功能说明
- 注册音频采集事件监听回调
- 参数中包含 success 和 fail 回调函数,分别处理采集成功和失败事件
- 静态成员函数,不依赖对象实例,通过类名直接调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| thisVal | JSIValue | JS 调用时的 this 对象 | 有效的 JSIValue |
| args | const JSIValue * | JS 调用参数数组,包含 success 和 fail 回调属性,入参只读指针,不修改所指对象 | argsSize > 0 时非 nullptr |
| argsSize | uint8_t | 参数数量 | 0 ~ 255 |
返回值
- 返回类型:
JSIValue
返回 JSI 调用结果
| 返回值 | 触发场景 |
|---|---|
| JSIValue | 返回 JS 执行结果值 |
Cancel
功能说明
- 取消音频采集操作
- 静态成员函数,不依赖对象实例,通过类名直接调用
- 调用后取消当前正在进行的采集操作
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| thisVal | JSIValue | JS 调用时的 this 对象 | 有效的 JSIValue |
| args | const JSIValue * | JS 调用参数数组,入参只读指针,不修改所指对象 | argsSize > 0 时非 nullptr |
| argsSize | uint8_t | 参数数量 | 0 ~ 255 |
返回值
- 返回类型:
JSIValue
返回 JSI 调用结果
| 返回值 | 触发场景 |
|---|---|
| JSIValue | 返回 JS 执行结果值 |
ListenerOff
功能说明
- 注销音频采集事件监听回调
- 静态成员函数,不依赖对象实例,通过类名直接调用
- 调用后已注册的事件监听回调不再生效
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| thisVal | JSIValue | JS 调用时的 this 对象 | 有效的 JSIValue |
| args | const JSIValue * | JS 调用参数数组,入参只读指针,不修改所指对象 | argsSize > 0 时非 nullptr |
| argsSize | uint8_t | 参数数量 | 0 ~ 255 |
返回值
- 返回类型:
JSIValue
返回 JSI 调用结果
| 返回值 | 触发场景 |
|---|---|
| JSIValue | 返回 JS 执行结果值 |
ExceptionStop
功能说明
- 在异常情况下停止音频采集
- 静态成员函数,不依赖对象实例,通过类名直接调用
- 用于处理采集过程中出现的异常,确保资源正确释放
OnDestroy
功能说明
- 对象销毁时的回调处理
- 静态成员函数,不依赖对象实例,通过类名直接调用
- 在模块对象被销毁时由框架调用,执行清理操作
OnTerminate
功能说明
- 模块终止时的回调处理
- 静态成员函数,不依赖对象实例,通过类名直接调用
- 在模块终止运行时由框架调用,执行终止清理操作