跳转至

js_audio_capturer

js_audio_capturer 提供 JS 音频录制模块接口,封装音频采集的启动、停止、事件监听及生命周期管理功能,支持标准模式与 XiaoduVoice 模式的音频采集。

Class Summary

OHOS::ACELite::AudioCapturerModule

JS 音频录制模块,提供音频采集的启动、停止、事件监听及生命周期管理接口

Functions

AudioCaptureSample

int32_t AudioCaptureSample(int32_t argc, const char *argv[])

功能说明

  • 提供音频采集的示例入口函数
  • 用于演示音频采集功能的基本调用流程
  • 函数声明于 extern "C" 块内,可在 C/C++ 环境中调用

入参

名称 参数类型 详细说明 约束取值范围
argc int32_t 命令行参数数量 ≥ 0
argv const char *[] 命令行参数数组,入参只读指针,不修改所指对象 非 nullptr

返回值

  • 返回类型:int32_t

返回执行结果

返回值 触发场景
0 执行成功
非0 执行失败

OHOS::ACELite::InitAudioCapturerModule

void OHOS::ACELite::InitAudioCapturerModule(JSIValue exports)

功能说明

  • 初始化音频录制模块,将模块接口注册到 JSI 导出对象
  • 在 JS 框架加载音频录制模块时调用,完成模块与 JS 运行时的绑定
  • 调用后 JS 层可通过导出对象访问音频录制相关接口

入参

名称 参数类型 详细说明 约束取值范围
exports JSIValue JSI 导出对象,用于注册模块接口 有效的 JSIValue

Start

static JSIValue Start(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)

功能说明

  • 启动音频采集功能
  • 静态成员函数,不依赖对象实例,通过类名直接调用
  • 调用后音频采集进入运行状态

入参

名称 参数类型 详细说明 约束取值范围
thisVal JSIValue JS 调用时的 this 对象 有效的 JSIValue
args const JSIValue * JS 调用参数数组,入参只读指针,不修改所指对象 argsSize > 0 时非 nullptr
argsSize uint8_t 参数数量 0 ~ 255

返回值

  • 返回类型:JSIValue

返回 JSI 调用结果

返回值 触发场景
JSIValue 返回 JS 执行结果值

Stop

static JSIValue Stop(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)

功能说明

  • 停止音频采集功能
  • 静态成员函数,不依赖对象实例,通过类名直接调用
  • 调用后音频采集停止运行

入参

名称 参数类型 详细说明 约束取值范围
thisVal JSIValue JS 调用时的 this 对象 有效的 JSIValue
args const JSIValue * JS 调用参数数组,入参只读指针,不修改所指对象 argsSize > 0 时非 nullptr
argsSize uint8_t 参数数量 0 ~ 255

返回值

  • 返回类型:JSIValue

返回 JSI 调用结果

返回值 触发场景
JSIValue 返回 JS 执行结果值

start

static JSIValue start(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)

功能说明

  • 按参数模式启动音频采集,支持不同的采集模式
  • 当参数中包含 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

static JSIValue stop(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)

功能说明

  • 停止音频采集功能
  • 静态成员函数,不依赖对象实例,通过类名直接调用
  • 调用后音频采集停止运行

入参

名称 参数类型 详细说明 约束取值范围
thisVal JSIValue JS 调用时的 this 对象 有效的 JSIValue
args const JSIValue * JS 调用参数数组,入参只读指针,不修改所指对象 argsSize > 0 时非 nullptr
argsSize uint8_t 参数数量 0 ~ 255

返回值

  • 返回类型:JSIValue

返回 JSI 调用结果

返回值 触发场景
JSIValue 返回 JS 执行结果值

ListenerOn

static JSIValue ListenerOn(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)

功能说明

  • 注册音频采集事件监听回调
  • 参数中包含 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

static JSIValue Cancel(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)

功能说明

  • 取消音频采集操作
  • 静态成员函数,不依赖对象实例,通过类名直接调用
  • 调用后取消当前正在进行的采集操作

入参

名称 参数类型 详细说明 约束取值范围
thisVal JSIValue JS 调用时的 this 对象 有效的 JSIValue
args const JSIValue * JS 调用参数数组,入参只读指针,不修改所指对象 argsSize > 0 时非 nullptr
argsSize uint8_t 参数数量 0 ~ 255

返回值

  • 返回类型:JSIValue

返回 JSI 调用结果

返回值 触发场景
JSIValue 返回 JS 执行结果值

ListenerOff

static JSIValue ListenerOff(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)

功能说明

  • 注销音频采集事件监听回调
  • 静态成员函数,不依赖对象实例,通过类名直接调用
  • 调用后已注册的事件监听回调不再生效

入参

名称 参数类型 详细说明 约束取值范围
thisVal JSIValue JS 调用时的 this 对象 有效的 JSIValue
args const JSIValue * JS 调用参数数组,入参只读指针,不修改所指对象 argsSize > 0 时非 nullptr
argsSize uint8_t 参数数量 0 ~ 255

返回值

  • 返回类型:JSIValue

返回 JSI 调用结果

返回值 触发场景
JSIValue 返回 JS 执行结果值

ExceptionStop

static void ExceptionStop(void)

功能说明

  • 在异常情况下停止音频采集
  • 静态成员函数,不依赖对象实例,通过类名直接调用
  • 用于处理采集过程中出现的异常,确保资源正确释放

OnDestroy

static void OnDestroy(void)

功能说明

  • 对象销毁时的回调处理
  • 静态成员函数,不依赖对象实例,通过类名直接调用
  • 在模块对象被销毁时由框架调用,执行清理操作

OnTerminate

static void OnTerminate(void)

功能说明

  • 模块终止时的回调处理
  • 静态成员函数,不依赖对象实例,通过类名直接调用
  • 在模块终止运行时由框架调用,执行终止清理操作