• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# OH_AudioCapturer_Callbacks_Struct
2<!--Kit: Audio Kit-->
3<!--Subsystem: Multimedia-->
4<!--Owner: @songshenke-->
5<!--Designer: @caixuejiang; @hao-liangfei; @zhanganxiang-->
6<!--Tester: @Filger-->
7<!--Adviser: @zengyawen-->
8
9## 概述
10
11声明输入音频流的回调函数指针。
12
13为了避免不可预期的行为,在设置音频回调函数时,请确保该结构体的每一个成员变量都被自定义的回调方法或空指针初始化。可参考[使用OHAudio开发音频录制功能](../../media/audio/using-ohaudio-for-recording.md)。
14
15**起始版本:** 10
16
17**废弃版本:** 20
18
19**替代接口:**
20
21请分别使用以下回调类型替代:
22
23[OH_AudioCapturer_OnReadDataCallback](capi-native-audiocapturer-h.md#oh_audiocapturer_onreaddatacallback)、 [OH_AudioCapturer_OnDeviceChangeCallback](capi-native-audiocapturer-h.md#oh_audiocapturer_ondevicechangecallback)、 [OH_AudioCapturer_OnInterruptCallback](capi-native-audiocapturer-h.md#oh_audiocapturer_oninterruptcallback) 以及 [OH_AudioCapturer_OnErrorCallback](capi-native-audiocapturer-h.md#oh_audiocapturer_onerrorcallback)。
24
25**相关模块:** [OHAudio](capi-ohaudio.md)
26
27**所在头文件:** [native_audiostream_base.h](capi-native-audiostream-base-h.md)
28
29## 汇总
30
31### 成员函数
32
33| 名称 | 描述 |
34| -- | -- |
35| [int32_t (\*OH_AudioCapturer_OnReadData)(OH_AudioCapturer* capturer,void* userData,void* buffer,int32_t length)](#oh_audiocapturer_onreaddata) | 该函数指针将指向用于读取音频数据的回调函数。 |
36| [int32_t (\*OH_AudioCapturer_OnStreamEvent)(OH_AudioCapturer* capturer,void* userData,OH_AudioStream_Event event)](#oh_audiocapturer_onstreamevent) | 该函数指针将指向用于处理音频录制流事件的回调函数。 |
37| [int32_t (\*OH_AudioCapturer_OnInterruptEvent)(OH_AudioCapturer* capturer,void* userData,OH_AudioInterrupt_ForceType type,OH_AudioInterrupt_Hint hint)](#oh_audiocapturer_oninterruptevent) | 该函数指针将指向用于处理音频录制中断事件的回调函数。 |
38| [int32_t (\*OH_AudioCapturer_OnError)(OH_AudioCapturer* capturer, void* userData, OH_AudioStream_Result error)](#oh_audiocapturer_onerror)| 该函数指针将指向用于处理音频录制错误结果的回调函数。 |
39
40## 成员函数说明
41
42> **说明:**
43> 以下回调接口的返回值没有枚举定义,当前版本实现并不按返回值区分处理,但为保证后续版本可扩展,默认使用0。
44
45### OH_AudioCapturer_OnReadData()
46
47```
48int32_t (*OH_AudioCapturer_OnReadData)(OH_AudioCapturer* capturer,void* userData,void* buffer,int32_t length)
49```
50
51**描述**
52
53该函数指针将指向用于读取音频数据的回调函数。
54
55回调函数仅用来读取音频数据,请勿在回调函数中调用AudioCapturer相关接口。
56
57**起始版本:** 10
58
59**废弃版本:** 20
60
61**替代接口:** [OH_AudioCapturer_OnReadDataCallback](capi-native-audiocapturer-h.md#oh_audiocapturer_onreaddatacallback)
62
63**参数:**
64
65| 参数项 | 描述 |
66| -- | -- |
67| [OH_AudioCapturer](capi-ohaudio-oh-audiocapturerstruct.md)* capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](capi-native-audiostreambuilder-h.md#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
68| void* userData | 指向应用自定义的数据存储区域。     |
69| void* buffer | 指向播放数据存储区域,用于应用填充播放数据。      |
70| int32_t length | buffer的长度。     |
71
72### OH_AudioCapturer_OnStreamEvent()
73
74```
75int32_t (*OH_AudioCapturer_OnStreamEvent)(OH_AudioCapturer* capturer,void* userData,OH_AudioStream_Event event)
76```
77
78**描述**
79
80该函数指针将指向用于处理音频录制流事件的回调函数。
81
82**起始版本:** 10
83
84**废弃版本:** 20
85
86**替代接口:** [OH_AudioCapturer_OnDeviceChangeCallback](capi-native-audiocapturer-h.md#oh_audiocapturer_ondevicechangecallback)
87
88**参数:**
89
90| 参数项 | 描述 |
91| -- | -- |
92| [OH_AudioCapturer](capi-ohaudio-oh-audiocapturerstruct.md)* capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](capi-native-audiostreambuilder-h.md#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
93| void* userData | 指向应用自定义的数据存储区域。 |
94| [OH_AudioStream_Event](capi-native-audiostream-base-h.md#oh_audiostream_event) event | 音频事件。 |
95
96### OH_AudioCapturer_OnInterruptEvent()
97
98```
99int32_t (*OH_AudioCapturer_OnInterruptEvent)(OH_AudioCapturer* capturer,void* userData,OH_AudioInterrupt_ForceType type,OH_AudioInterrupt_Hint hint)
100```
101
102**描述**
103
104该函数指针将指向用于处理音频录制中断事件的回调函数。
105
106**起始版本:** 10
107
108**废弃版本:** 20
109
110**替代接口:** [OH_AudioCapturer_OnInterruptCallback](capi-native-audiocapturer-h.md#oh_audiocapturer_oninterruptcallback)
111
112**参数:**
113
114| 参数项  | 描述 |
115|--| -- |
116| [OH_AudioCapturer](capi-ohaudio-oh-audiocapturerstruct.md)* capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](capi-native-audiostreambuilder-h.md#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
117| void* userData | 指向应用自定义的数据存储区域。 |
118| [OH_AudioInterrupt_ForceType](capi-native-audiostream-base-h.md#oh_audiointerrupt_forcetype) type | 音频中断类型。 |
119| [OH_AudioInterrupt_Hint](capi-native-audiostream-base-h.md#oh_audiointerrupt_hint) hint | 音频中断提示类型。 |
120
121
122### OH_AudioCapturer_OnError()
123
124```
125int32_t (*OH_AudioCapturer_OnError)(OH_AudioCapturer* capturer, void* userData, OH_AudioStream_Result error)
126```
127
128**描述**
129
130该函数指针将指向用于处理音频录制错误结果的回调函数。
131
132**起始版本:** 10
133
134**废弃版本:** 20
135
136**替代接口:** [OH_AudioCapturer_OnErrorCallback](capi-native-audiocapturer-h.md#oh_audiocapturer_onerrorcallback)
137
138**参数:**
139
140| 参数项  | 描述 |
141|--| -- |
142| [OH_AudioCapturer](capi-ohaudio-oh-audiocapturerstruct.md)* capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](capi-native-audiostreambuilder-h.md#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
143| void* userData | 指向应用自定义的数据存储区域。 |
144| [OH_AudioStream_Result](capi-native-audiostream-base-h.md#oh_audiostream_result) error | 音频录制错误结果,可能为AUDIOSTREAM_ERROR_INVALID_PARAM、AUDIOSTREAM_ERROR_ILLEGAL_STATE或者 AUDIOSTREAM_ERROR_SYSTEM。 |
145
146