# OH_AudioCapturer_Callbacks_Struct

```
typedef struct OH_AudioCapturer_Callbacks_Struct {...} OH_AudioCapturer_Callbacks
```

#### 概述

声明输入音频流的回调函数指针。

为了避免不可预期的行为，在设置音频回调函数时，请确保该结构体的每一个成员变量都被自定义的回调方法或空指针初始化。可参考推荐使用OHAudio开发音频录制功能(C/C++)。

**起始版本：** 10

**废弃版本：** 20

**替代接口：**

请分别使用以下回调类型替代：

OH\_AudioCapturer\_OnReadDataCallback、 OH\_AudioCapturer\_OnDeviceChangeCallback、 OH\_AudioCapturer\_OnInterruptCallback 以及 OH\_AudioCapturer\_OnErrorCallback。

**相关模块：** OHAudio

**所在头文件：** native\_audiostream\_base.h

#### 汇总

#### 成员函数

| 名称 | 描述 |
| --- | --- |
| int32_t (*OH_AudioCapturer_OnReadData)(OH_AudioCapturer* capturer,void* userData,void* buffer,int32_t length) | 该函数指针将指向用于读取音频数据的回调函数。 |
| int32_t (*OH_AudioCapturer_OnStreamEvent)(OH_AudioCapturer* capturer,void* userData,OH_AudioStream_Event event) | 该函数指针将指向用于处理音频录制流事件的回调函数。 |
| int32_t (*OH_AudioCapturer_OnInterruptEvent)(OH_AudioCapturer* capturer,void* userData,OH_AudioInterrupt_ForceType type,OH_AudioInterrupt_Hint hint) | 该函数指针将指向用于处理音频录制中断事件的回调函数。 |
| int32_t (*OH_AudioCapturer_OnError)(OH_AudioCapturer* capturer, void* userData, OH_AudioStream_Result error) | 该函数指针将指向用于处理音频录制错误结果的回调函数。 |

#### 成员函数说明

以下回调接口的返回值没有枚举定义，当前版本实现并不按返回值区分处理，但为保证后续版本可扩展，默认使用0。

#### OH\_AudioCapturer\_OnReadData()

```
int32_t (*OH_AudioCapturer_OnReadData)(OH_AudioCapturer* capturer,void* userData,void* buffer,int32_t length)
```

**描述**

该函数指针将指向用于读取音频数据的回调函数。

回调函数仅用来读取音频数据，请勿在回调函数中调用AudioCapturer相关接口。

**起始版本：** 10

**废弃版本：** 20

**替代接口：** OH\_AudioCapturer\_OnReadDataCallback

**参数：**

| 参数项 | 描述 |
| --- | --- |
| OH_AudioCapturer* capturer | 指向OH_AudioStreamBuilder_GenerateCapturer创建的音频流实例。 |
| void* userData | 指向应用自定义的数据存储区域。 |
| void* buffer | 指向录制数据存储区域，用于应用读取录制数据。 |
| int32_t length | buffer的长度。 |

#### OH\_AudioCapturer\_OnStreamEvent()

```
int32_t (*OH_AudioCapturer_OnStreamEvent)(OH_AudioCapturer* capturer,void* userData,OH_AudioStream_Event event)
```

**描述**

该函数指针将指向用于处理音频录制流事件的回调函数。

**起始版本：** 10

**废弃版本：** 20

**替代接口：** OH\_AudioCapturer\_OnDeviceChangeCallback

**参数：**

| 参数项 | 描述 |
| --- | --- |
| OH_AudioCapturer* capturer | 指向OH_AudioStreamBuilder_GenerateCapturer创建的音频流实例。 |
| void* userData | 指向应用自定义的数据存储区域。 |
| OH_AudioStream_Event event | 音频事件。 |

#### OH\_AudioCapturer\_OnInterruptEvent()

```
int32_t (*OH_AudioCapturer_OnInterruptEvent)(OH_AudioCapturer* capturer,void* userData,OH_AudioInterrupt_ForceType type,OH_AudioInterrupt_Hint hint)
```

**描述**

该函数指针将指向用于处理音频录制中断事件的回调函数。

**起始版本：** 10

**废弃版本：** 20

**替代接口：** OH\_AudioCapturer\_OnInterruptCallback

**参数：**

| 参数项 | 描述 |
| --- | --- |
| OH_AudioCapturer* capturer | 指向OH_AudioStreamBuilder_GenerateCapturer创建的音频流实例。 |
| void* userData | 指向应用自定义的数据存储区域。 |
| OH_AudioInterrupt_ForceType type | 音频中断类型。 |
| OH_AudioInterrupt_Hint hint | 音频中断提示类型。 |

#### OH\_AudioCapturer\_OnError()

```
int32_t (*OH_AudioCapturer_OnError)(OH_AudioCapturer* capturer, void* userData, OH_AudioStream_Result error)
```

**描述**

该函数指针将指向用于处理音频录制错误结果的回调函数。

**起始版本：** 10

**废弃版本：** 20

**替代接口：** OH\_AudioCapturer\_OnErrorCallback

**参数：**

| 参数项 | 描述 |
| --- | --- |
| OH_AudioCapturer* capturer | 指向OH_AudioStreamBuilder_GenerateCapturer创建的音频流实例。 |
| void* userData | 指向应用自定义的数据存储区域。 |
| OH_AudioStream_Result error | 音频录制错误结果，可能为AUDIOSTREAM_ERROR_INVALID_PARAM、AUDIOSTREAM_ERROR_ILLEGAL_STATE或者 AUDIOSTREAM_ERROR_SYSTEM。 |