• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# OHAudio
2
3
4## 概述
5
6提供音频模块C接口定义。
7
8**系统能力:** SystemCapability.Multimedia.Audio.Core
9
10**起始版本:** 10
11
12
13## 汇总
14
15
16### 文件
17
18| 名称 | 描述 |
19| -------- | -------- |
20| [native_audiocapturer.h](native__audiocapturer_8h.md) | 声明输入类型的音频流相关接口。<br/>**引用文件**:&lt;ohaudio/native_audiocapturer.h&gt;<br/>**库**:libohaudio.so |
21| [native_audiorenderer.h](native__audiorenderer_8h.md) | 声明输出类型的音频流相关接口。<br/>**引用文件**:&lt;ohaudio/native_audiorenderer.h&gt;<br/>**库**:libohaudio.so |
22| [native_audiostream_base.h](native__audiostream__base_8h.md) | 声明OHAudio基础的数据结构。<br/>**引用文件**:&lt;ohaudio/native_audiostream_base.h&gt;<br/>**库**:libohaudio.so |
23| [native_audiostreambuilder.h](native__audiostreambuilder_8h.md) | 声明音频流构造器相关接口。<br/>**引用文件**:&lt;ohaudio/native_audiostreambuilder.h&gt;<br/>**库**:libohaudio.so |
24
25
26### 结构体
27
28| 名称 | 描述 |
29| -------- | -------- |
30| struct&nbsp;&nbsp;[OH_AudioRenderer_Callbacks_Struct](_o_h___audio_renderer___callbacks___struct.md) | 声明输出音频流的回调函数指针。 |
31| struct&nbsp;&nbsp;[OH_AudioCapturer_Callbacks_Struct](_o_h___audio_capturer___callbacks___struct.md) | 声明输入音频流的回调函数指针。 |
32
33
34### 类型定义
35
36| 名称                                                                                                                                                          | 描述 |
37|-------------------------------------------------------------------------------------------------------------------------------------------------------------| -------- |
38| typedef struct OH_AudioStreamBuilderStruct [OH_AudioStreamBuilder](#oh_audiostreambuilder)                                                                  | 声明音频流的构造器。 |
39| typedef struct OH_AudioRendererStruct [OH_AudioRenderer](#oh_audiorenderer)                                                                                 | 声明输出音频流。 |
40| typedef struct OH_AudioCapturerStruct [OH_AudioCapturer](#oh_audiocapturer)                                                                                 | 声明输入音频流。 |
41| typedef struct [OH_AudioRenderer_Callbacks_Struct](_o_h___audio_renderer___callbacks___struct.md) [OH_AudioRenderer_Callbacks](#oh_audiorenderer_callbacks) | 声明输出音频流的回调函数指针。 |
42| typedef struct [OH_AudioCapturer_Callbacks_Struct](_o_h___audio_capturer___callbacks___struct.md) [OH_AudioCapturer_Callbacks](#oh_audiocapturer_callbacks) | 声明输入音频流的回调函数指针。 |
43
44
45### 枚举
46
47| 名称 | 描述 |
48| -------- | -------- |
49| [OH_AudioStream_Result](#oh_audiostream_result) {<br/>AUDIOSTREAM_SUCCESS = 0,<br/>AUDIOSTREAM_ERROR_INVALID_PARAM = 1,<br/>AUDIOSTREAM_ERROR_ILLEGAL_STATE = 2,<br/>AUDIOSTREAM_ERROR_SYSTEM = 3<br/>} | 音频错误码。 |
50| [OH_AudioStream_Type](#oh_audiostream_type) {<br/>AUDIOSTREAM_TYPE_RERNDERER = 1,<br/>AUDIOSTREAM_TYPE_CAPTURER = 2<br/>} | 音频流类型。 |
51| [OH_AudioStream_SampleFormat](#oh_audiostream_sampleformat) {<br/>AUDIOSTREAM_SAMPLE_U8 = 0,<br/>AUDIOSTREAM_SAMPLE_S16LE = 1,<br/>AUDIOSTREAM_SAMPLE_S24LE = 2,<br/>AUDIOSTREAM_SAMPLE_S32LE = 3<br/>} | 定义音频流采样格式。 |
52| [OH_AudioStream_EncodingType](#oh_audiostream_encodingtype) {<br/>AUDIOSTREAM_ENCODING_TYPE_RAW = 0<br/>} | 定义音频流编码类型。 |
53| [OH_AudioStream_Usage](#oh_audiostream_usage) {<br/>AUDIOSTREAM_USAGE_UNKNOWN = 0,<br/>AUDIOSTREAM_USAGE_MUSIC = 1,<br/>AUDIOSTREAM_USAGE_COMMUNICATION = 2,<br/>AUDIOSTREAM_USAGE_VOICE_ASSISTANT = 3,<br/>AUDIOSTREAM_USAGE_ALARM = 4,<br/>AUDIOSTREAM_USAGE_VOICE_MESSAGE = 5,<br/>AUDIOSTREAM_USAGE_RINGTONE = 6,<br/>AUDIOSTREAM_USAGE_NOTIFICATION = 7,<br/>AUDIOSTREAM_USAGE_ACCESSIBILITY = 8,<br/>AUDIOSTREAM_USAGE_MOVIE = 10,<br/>AUDIOSTREAM_USAGE_GAME = 11,<br/>AUDIOSTREAM_USAGE_AUDIOBOOK = 12,<br/>AUDIOSTREAM_USAGE_NAVIGATION = 13<br/>} | 定义音频流使用场景。 |
54| [OH_AudioStream_LatencyMode](#oh_audiostream_latencymode) {<br/>AUDIOSTREAM_LATENCY_MODE_NORMAL = 0,<br/>AUDIOSTREAM_LATENCY_MODE_FAST = 1<br/>} | 定义音频时延模式。 |
55| [OH_AudioStream_State](#oh_audiostream_state) {<br/>AUDIOSTREAM_STATE_INVALID = -1,<br/>AUDIOSTREAM_STATE_NEW = 0,<br/>AUDIOSTREAM_STATE_PREPARED = 1,<br/>AUDIOSTREAM_STATE_RUNNING = 2,<br/>AUDIOSTREAM_STATE_STOPPED = 3,<br/>AUDIOSTREAM_STATE_RELEASED = 4,<br/>AUDIOSTREAM_STATE_PAUSED = 5<br/>} | 定义音频流的状态。 |
56| [OH_AudioStream_SourceType](#oh_audiostream_sourcetype) {<br/>AUDIOSTREAM_SOURCE_TYPE_INVALID = -1,<br/>AUDIOSTREAM_SOURCE_TYPE_MIC = 0,<br/>AUDIOSTREAM_SOURCE_TYPE_VOICE_RECOGNITION = 1,<br/>AUDIOSTREAM_SOURCE_TYPE_PLAYBACK_CAPTURE = 2,<br/>AUDIOSTREAM_SOURCE_TYPE_VOICE_COMMUNICATION = 7<br/>} | 定义音频流使用场景。 |
57| [OH_AudioStream_Event](#oh_audiostream_event) {<br/>AUDIOSTREAM_EVENT_ROUTING_CHANGED = 0<br/>} | 定义音频事件。 |
58| [OH_AudioInterrupt_ForceType](#oh_audiointerrupt_forcetype) {<br/>AUDIOSTREAM_INTERRUPT_FORCE = 0,<br/>AUDIOSTREAM_INTERRUPT_SHAR = 1<br/>} | 定义音频中断类型。 |
59| [OH_AudioInterrupt_Hint](#oh_audiointerrupt_hint) {<br/>AUDIOSTREAM_INTERRUPT_HINT_NONE = 0,<br/>AUDIOSTREAM_INTERRUPT_HINT_RESUME = 1,<br/>AUDIOSTREAM_INTERRUPT_HINT_PAUSE = 2,<br/>AUDIOSTREAM_INTERRUPT_HINT_STOP = 3,<br/>AUDIOSTREAM_INTERRUPT_HINT_DUCK = 4,<br/>AUDIOSTREAM_INTERRUPT_HINT_UNDUCK = 5<br/>} | 定义音频中断类型。 |
60
61
62### 函数
63
64| 名称                                                                                                                                                                                                                                                | 描述 |
65|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -------- |
66| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_Release](#oh_audiocapturer_release)([OH_AudioCapturer](#oh_audiocapturer) \*capturer)                                                                                           | 释放输入音频流。 |
67| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_Start](#oh_audiocapturer_start)([OH_AudioCapturer](#oh_audiocapturer) \*capturer)                                                                                               | 开始获取音频数据。 |
68| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_Pause](#oh_audiocapturer_pause)([OH_AudioCapturer](#oh_audiocapturer) \*capturer)                                                                                               | 暂停输入音频流。 |
69| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_Stop](#oh_audiocapturer_stop)([OH_AudioCapturer](#oh_audiocapturer) \*capturer)                                                                                                 | 停止输入音频流 |
70| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_Flush](#oh_audiocapturer_flush)([OH_AudioCapturer](#oh_audiocapturer) \*capturer)                                                                                               | 丢弃获取的音频数据。 |
71| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_GetCurrentState](#oh_audiocapturer_getcurrentstate)([OH_AudioCapturer](#oh_audiocapturer) \*capturer, [OH_AudioStream_State](#oh_audiostream_state) \*state)                    | 查询当前输入音频流状态。 |
72| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_GetLatencyMode](#oh_audiocapturer_getlatencymode)([OH_AudioCapturer](#oh_audiocapturer) \*capturer, [OH_AudioStream_LatencyMode](#oh_audiostream_latencymode) \*latencyMode)    | 查询当前输入音频流时延模式。 |
73| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_GetStreamId](#oh_audiocapturer_getstreamid)([OH_AudioCapturer](#oh_audiocapturer) \*capturer, uint32_t \*streamId)                                                              | 查询当前输入音频流ID。 |
74| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_GetSamplingRate](#oh_audiocapturer_getsamplingrate)([OH_AudioCapturer](#oh_audiocapturer) \*capturer, int32_t \*rate)                                                           | 查询当前输入音频流采样率。 |
75| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_GetChannelCount](#oh_audiocapturer_getchannelcount)([OH_AudioCapturer](#oh_audiocapturer) \*capturer, int32_t \*channelCount)                                                   | 查询当前输入音频流通道数。 |
76| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_GetSampleFormat](#oh_audiocapturer_getsampleformat)([OH_AudioCapturer](#oh_audiocapturer) \*capturer, [OH_AudioStream_SampleFormat](#oh_audiostream_sampleformat) \*sampleFormat) | 查询当前输入音频流采样格式。 |
77| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_GetEncodingType](#oh_audiocapturer_getencodingtype)([OH_AudioCapturer](#oh_audiocapturer) \*capturer, [OH_AudioStream_EncodingType](#oh_audiostream_encodingtype) \*encodingType) | 查询当前输入音频流编码类型。 |
78| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_GetCapturerInfo](#oh_audiocapturer_getcapturerinfo)([OH_AudioCapturer](#oh_audiocapturer) \*capturer, [OH_AudioStream_SourceType](#oh_audiostream_sourcetype) \*sourceType)     | 查询当前输入音频流工作场景类型。 |
79| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_GetFrameSizeInCallback](#oh_audiocapturer_getframesizeincallback)([OH_AudioCapturer](#oh_audiocapturer) \*capturer, int32_t \*frameSize)                                        | 在回调中查询帧大小,它是每次回调返回的缓冲区的固定长度。 |
80| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_GetTimestamp](#oh_audiocapturer_gettimestamp)([OH_AudioCapturer](#oh_audiocapturer) \*capturer, clockid_t clockId, int64_t \*framePosition, int64_t \*timestamp)                | 获取输入音频流时间戳和位置信息。 |
81| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_GetFramesRead](#oh_audiocapturer_getframesread)([OH_AudioCapturer](#oh_audiocapturer) \*capturer, int64_t \*frames)                                                             | 查询自创建流以来已读取的帧数。 |
82| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_Release](#oh_audiorenderer_release)([OH_AudioRenderer](#oh_audiorenderer) \*renderer)                                                                                           | 释放输出音频流。 |
83| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_Start](#oh_audiorenderer_start)([OH_AudioRenderer](#oh_audiorenderer) \*renderer)                                                                                               | 开始输出音频数据。 |
84| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_Pause](#oh_audiorenderer_pause)([OH_AudioRenderer](#oh_audiorenderer) \*renderer)                                                                                               | 暂停输出音频流。 |
85| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_Stop](#oh_audiorenderer_stop)([OH_AudioRenderer](#oh_audiorenderer) \*renderer)                                                                                                 | 停止输出音频流。 |
86| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_Flush](#oh_audiorenderer_flush)([OH_AudioRenderer](#oh_audiorenderer) \*renderer)                                                                                               | 丢弃已经写入的音频数据。 |
87| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_GetCurrentState](#oh_audiorenderer_getcurrentstate)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, [OH_AudioStream_State](#oh_audiostream_state) \*state)                    | 查询当前输出音频流状态。 |
88| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_GetSamplingRate](#oh_audiorenderer_getsamplingrate)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, int32_t \*rate)                                                           | 查询当前输出音频流采样率。 |
89| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_GetStreamId](#oh_audiorenderer_getstreamid)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, uint32_t \*streamId)                                                              | 查询当前输出音频流ID。 |
90| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_GetChannelCount](#oh_audiorenderer_getchannelcount)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, int32_t \*channelCount)                                                   | 查询当前输出音频流通道数。 |
91| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_GetSampleFormat](#oh_audiorenderer_getsampleformat)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, [OH_AudioStream_SampleFormat](#oh_audiostream_sampleformat) \*sampleFormat) | 查询当前输出音频流采样格式。 |
92| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_GetLatencyMode](#oh_audiorenderer_getlatencymode)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, [OH_AudioStream_LatencyMode](#oh_audiostream_latencymode) \*latencyMode)    | 查询当前输出音频流时延模式。 |
93| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_GetRendererInfo](#oh_audiorenderer_getrendererinfo)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, [OH_AudioStream_Usage](#oh_audiostream_usage) \*usage)                    | 查询当前输出音频流工作场景类型。 |
94| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_GetEncodingType](#oh_audiorenderer_getencodingtype)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, [OH_AudioStream_EncodingType](#oh_audiostream_encodingtype) \*encodingType) | 查询当前输出音频流编码类型。 |
95| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_GetFramesWritten](#oh_audiorenderer_getframeswritten)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, int64_t \*frames)                                                       | 查询自创建流以来已写入的帧数。 |
96| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_GetTimestamp](#oh_audiorenderer_gettimestamp)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, clockid_t clockId, int64_t \*framePosition, int64_t \*timestamp)                | 获取输出音频流时间戳和位置信息。 |
97| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_GetFrameSizeInCallback](#oh_audiorenderer_getframesizeincallback)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, int32_t \*frameSize)                                        | 在回调中查询帧大小。 |
98| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_Create](#oh_audiostreambuilder_create)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*\*builder, [OH_AudioStream_Type](#oh_audiostream_type) type)                        | 创建一个输入或者输出类型的音频流构造器。 |
99| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_Destroy](#oh_audiostreambuilder_destroy)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder)                                                                        | 销毁一个音频流构造器。 |
100| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_SetSamplingRate](#oh_audiostreambuilder_setsamplingrate)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, int32_t rate)                                          | 设置音频流的采样率属性。 |
101| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_SetChannelCount](#oh_audiostreambuilder_setchannelcount)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, int32_t channelCount)                                  | 设置音频流的通道数属性。 |
102| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_SetSampleFormat](#oh_audiostreambuilder_setsampleformat)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioStream_SampleFormat](#oh_audiostream_sampleformat) format) | 设置音频流的采样格式属性。 |
103| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_SetEncodingType](#oh_audiostreambuilder_setencodingtype)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioStream_EncodingType](#oh_audiostream_encodingtype) encodingType) | 设置音频流的编码类型属性。 |
104| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_SetLatencyMode](#oh_audiostreambuilder_setlatencymode)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioStream_LatencyMode](#oh_audiostream_latencymode) latencyMode) | 设置音频流的时延模式。 |
105| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_SetRendererInfo](#oh_audiostreambuilder_setrendererinfo)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioStream_Usage](#oh_audiostream_usage) usage)   | 设置输出音频流的工作场景。 |
106| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_SetCapturerInfo](#oh_audiostreambuilder_setcapturerinfo)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioStream_SourceType](#oh_audiostream_sourcetype) sourceType) | 设置输入音频流的工作场景。 |
107| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_SetRendererCallback](#oh_audiostreambuilder_setrenderercallback)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioRenderer_Callbacks](#oh_audiorenderer_callbacks) callbacks, void \*userData) | 设置输出音频流的回调。 |
108| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_SetCapturerCallback](#oh_audiostreambuilder_setcapturercallback)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioCapturer_Callbacks](#oh_audiocapturer_callbacks) callbacks, void \*userData) | 设置输入音频流的回调。 |
109| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioRenderer](#oh_audiorenderer) \*\*audioRenderer) | 创建输出音频流实例。 |
110| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioCapturer](#oh_audiocapturer) \*\*audioCapturer) | 创建输入音频流实例。 |
111| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_SetFrameSizeInCallback](#oh_audiostreambuilder_setframesizeincallback)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, int32_t frameSize)                       | 设置每次回调的帧长,帧长至少为音频硬件一次处理的数据大小,并且小于内部缓冲容量的一半。 |
112
113
114## 类型定义说明
115
116
117### OH_AudioCapturer
118
119```
120typedef struct OH_AudioCapturerStruct OH_AudioCapturer
121```
122
123**描述**
124
125声明输入音频流。
126
127输入音频流的实例被用来获取音频数据。
128
129**系统能力:** SystemCapability.Multimedia.Audio.Core
130
131**起始版本:** 10
132
133
134### OH_AudioCapturer_Callbacks
135
136```
137typedef struct OH_AudioCapturer_Callbacks_Struct OH_AudioCapturer_Callbacks
138```
139
140**描述**
141
142声明输入音频流的回调函数指针。
143
144**系统能力:** SystemCapability.Multimedia.Audio.Core
145
146**起始版本:** 10
147
148
149### OH_AudioRenderer
150
151```
152typedef struct OH_AudioRendererStruct OH_AudioRenderer
153```
154
155**描述**
156
157声明输出音频流。
158
159输出音频流的实例被用来播放音频数据。
160
161**系统能力:** SystemCapability.Multimedia.Audio.Core
162
163**起始版本:** 10
164
165
166### OH_AudioRenderer_Callbacks
167
168```
169typedef struct OH_AudioRenderer_Callbacks_Struct OH_AudioRenderer_Callbacks
170```
171
172**描述**
173
174声明输出音频流的回调函数指针。
175
176**系统能力:** SystemCapability.Multimedia.Audio.Core
177
178**起始版本:** 10
179
180
181### OH_AudioStreamBuilder
182
183```
184typedef struct OH_AudioStreamBuilderStruct OH_AudioStreamBuilder
185```
186
187**描述**
188
189声明音频流的构造器。
190
191构造器实例通常被用来设置音频流属性和创建音频流。
192
193**系统能力:** SystemCapability.Multimedia.Audio.Core
194
195**起始版本:** 10
196
197
198## 枚举类型说明
199
200
201### OH_AudioInterrupt_ForceType
202
203```
204enum OH_AudioInterrupt_ForceType
205```
206
207**描述**
208
209定义音频中断类型。
210
211通常用来描述音频中断事件。
212
213**系统能力:** SystemCapability.Multimedia.Audio.Core
214
215**起始版本:** 10
216
217| 枚举值 | 描述 |
218| -------- | -------- |
219| AUDIOSTREAM_INTERRUPT_FORCE | 强制类型,系统更改音频状态。 |
220| AUDIOSTREAM_INTERRUPT_SHAR | 共享类型,应用程序更改音频状态。 |
221
222
223### OH_AudioInterrupt_Hint
224
225```
226enum OH_AudioInterrupt_Hint
227```
228
229**描述**
230
231定义音频中断类型。
232
233通常用来描述音频中断事件。
234
235**系统能力:** SystemCapability.Multimedia.Audio.Core
236
237**起始版本:** 10
238
239| 枚举值 | 描述 |
240| -------- | -------- |
241| AUDIOSTREAM_INTERRUPT_HINT_NONE | 不提示。 |
242| AUDIOSTREAM_INTERRUPT_HINT_RESUME | 恢复流提示。 |
243| AUDIOSTREAM_INTERRUPT_HINT_PAUSE | 暂停流提示。 |
244| AUDIOSTREAM_INTERRUPT_HINT_STOP | 停止流提示。 |
245| AUDIOSTREAM_INTERRUPT_HINT_DUCK | 短暂降低音量。 |
246| AUDIOSTREAM_INTERRUPT_HINT_UNDUCK | 恢复音量。 |
247
248
249### OH_AudioStream_EncodingType
250
251```
252enum OH_AudioStream_EncodingType
253```
254
255**描述**
256
257定义音频流编码类型。
258
259**系统能力:** SystemCapability.Multimedia.Audio.Core
260
261**起始版本:** 10
262
263| 枚举值 | 描述 |
264| -------- | -------- |
265| AUDIOSTREAM_ENCODING_TYPE_RAW | PCM编码。 |
266
267
268### OH_AudioStream_Event
269
270```
271enum OH_AudioStream_Event
272```
273
274**描述**
275
276定义音频事件。
277
278通常用来描述音频事件。
279
280**系统能力:** SystemCapability.Multimedia.Audio.Core
281
282**起始版本:** 10
283
284| 枚举值 | 描述 |
285| -------- | -------- |
286| AUDIOSTREAM_EVENT_ROUTING_CHANGED | 音频的路由已更改。 |
287
288
289### OH_AudioStream_LatencyMode
290
291```
292enum OH_AudioStream_LatencyMode
293```
294
295**描述**
296
297定义音频时延模式。
298
299**系统能力:** SystemCapability.Multimedia.Audio.Core
300
301**起始版本:** 10
302
303| 枚举值 | 描述 |
304| -------- | -------- |
305| AUDIOSTREAM_LATENCY_MODE_NORMAL | 该模式代表一个普通时延的音频流。 |
306| AUDIOSTREAM_LATENCY_MODE_FAST | 该模式代表一个低时延的音频流。 |
307
308
309### OH_AudioStream_Result
310
311```
312enum OH_AudioStream_Result
313```
314
315**描述**
316
317音频错误码。
318
319**系统能力:** SystemCapability.Multimedia.Audio.Core
320
321**起始版本:** 10
322
323| 枚举值 | 描述 |
324| -------- | -------- |
325| AUDIOSTREAM_SUCCESS | 操作成功 |
326| AUDIOSTREAM_ERROR_INVALID_PARAM | 入参错误。 |
327| AUDIOSTREAM_ERROR_ILLEGAL_STATE | 非法状态。 |
328| AUDIOSTREAM_ERROR_SYSTEM | 系统通用错误。 |
329
330
331### OH_AudioStream_SampleFormat
332
333```
334enum OH_AudioStream_SampleFormat
335```
336
337**描述**
338
339定义音频流采样格式。
340
341**系统能力:** SystemCapability.Multimedia.Audio.Core
342
343**起始版本:** 10
344
345| 枚举值 | 描述 |
346| -------- | -------- |
347| AUDIOSTREAM_SAMPLE_U8 | Unsigned 8位。 |
348| AUDIOSTREAM_SAMPLE_S16LE | Short 16位小端。 |
349| AUDIOSTREAM_SAMPLE_S24LE | Short 24位小端。 |
350| AUDIOSTREAM_SAMPLE_S32LE | Short 32位小端。 |
351
352
353### OH_AudioStream_SourceType
354
355```
356enum OH_AudioStream_SourceType
357```
358
359**描述**
360
361定义音频流使用场景。
362
363通常用来描述音频输入流的使用场景。
364
365**系统能力:** SystemCapability.Multimedia.Audio.Core
366
367**起始版本:** 10
368
369| 枚举值 | 描述 |
370| -------- | -------- |
371| AUDIOSTREAM_SOURCE_TYPE_INVALID | 不合法状态。 |
372| AUDIOSTREAM_SOURCE_TYPE_MIC | 录音。 |
373| AUDIOSTREAM_SOURCE_TYPE_VOICE_RECOGNITION | 语音识别。 |
374| AUDIOSTREAM_SOURCE_TYPE_PLAYBACK_CAPTURE | 播放录音。 |
375| AUDIOSTREAM_SOURCE_TYPE_VOICE_COMMUNICATION | 通话。 |
376
377
378### OH_AudioStream_State
379
380```
381enum OH_AudioStream_State
382```
383
384**描述**
385
386定义音频流的状态。
387
388**系统能力:** SystemCapability.Multimedia.Audio.Core
389
390**起始版本:** 10
391
392| 枚举值 | 描述 |
393| -------- | -------- |
394| AUDIOSTREAM_STATE_INVALID | 不合法的状态。 |
395| AUDIOSTREAM_STATE_NEW | 新创建时的状态。 |
396| AUDIOSTREAM_STATE_PREPARED | 准备状态。 |
397| AUDIOSTREAM_STATE_RUNNING | 工作状态。 |
398| AUDIOSTREAM_STATE_STOPPED | 停止状态。 |
399| AUDIOSTREAM_STATE_RELEASED | 释放状态。 |
400| AUDIOSTREAM_STATE_PAUSED | 暂停状态。 |
401
402
403### OH_AudioStream_Type
404
405```
406enum OH_AudioStream_Type
407```
408
409**描述**
410
411音频流类型。
412
413**系统能力:** SystemCapability.Multimedia.Audio.Core
414
415**起始版本:** 10
416
417| 枚举值 | 描述 |
418| -------- | -------- |
419| AUDIOSTREAM_TYPE_RERNDERER | 该类型代表音频流是输出流。 |
420| AUDIOSTREAM_TYPE_CAPTURER | 该类型代表音频流是输入流。 |
421
422
423### OH_AudioStream_Usage
424
425```
426enum OH_AudioStream_Usage
427```
428
429**描述**
430
431定义音频流使用场景。
432
433通常用来描述音频输出流的使用场景。
434
435**系统能力:** SystemCapability.Multimedia.Audio.Core
436
437**起始版本:** 10
438
439| 枚举值 | 描述 |
440| -------- | -------- |
441| AUDIOSTREAM_USAGE_UNKNOWN | 未定义。 |
442| AUDIOSTREAM_USAGE_MUSIC | 音乐。 |
443| AUDIOSTREAM_USAGE_COMMUNICATION | 通话。 |
444| AUDIOSTREAM_USAGE_VOICE_ASSISTANT | 语音助手。 |
445| AUDIOSTREAM_USAGE_ALARM | 闹钟。 |
446| AUDIOSTREAM_USAGE_VOICE_MESSAGE | 语音消息。 |
447| AUDIOSTREAM_USAGE_RINGTONE | 铃声。 |
448| AUDIOSTREAM_USAGE_NOTIFICATION | 通知。 |
449| AUDIOSTREAM_USAGE_ACCESSIBILITY | 无障碍。 |
450| AUDIOSTREAM_USAGE_MOVIE | 视频。 |
451| AUDIOSTREAM_USAGE_GAME | 游戏。 |
452| AUDIOSTREAM_USAGE_AUDIOBOOK | 有声读物。 |
453| AUDIOSTREAM_USAGE_NAVIGATION | 导航。 |
454
455
456## 函数说明
457
458
459### OH_AudioCapturer_Flush()
460
461```
462OH_AudioStream_Result OH_AudioCapturer_Flush (OH_AudioCapturer * capturer)
463```
464
465**描述**
466
467丢弃获取的音频数据。
468
469**起始版本:** 10
470
471**系统能力:** SystemCapability.Multimedia.Audio.Core
472
473**参数:**
474
475| 名称 | 描述 |
476| -------- | -------- |
477| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
478
479**返回:**
480
481AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
482
483
484### OH_AudioCapturer_GetCapturerInfo()
485
486```
487OH_AudioStream_Result OH_AudioCapturer_GetCapturerInfo(OH_AudioCapturer *capturer, OH_AudioStream_SourceType *sourceType)
488```
489
490**描述**
491
492查询当前音频流工作场景类型。
493
494**起始版本:** 10
495
496**系统能力:** SystemCapability.Multimedia.Audio.Core
497
498**参数:**
499
500| 名称 | 描述 |
501| -------- | -------- |
502| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
503| sourceType | 指向一个用来接收输入类型音频流的工作场景的变量。 |
504
505**返回:**
506
507AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
508
509
510### OH_AudioCapturer_GetChannelCount()
511
512```
513OH_AudioStream_Result OH_AudioCapturer_GetChannelCount(OH_AudioCapturer *capturer, int32_t *channelCount)
514```
515
516**描述**
517
518查询当前音频流通道数。
519
520**起始版本:** 10
521
522**系统能力:** SystemCapability.Multimedia.Audio.Core
523
524**参数:**
525
526| 名称 | 描述 |
527| -------- | -------- |
528| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
529| channelCount | 指向一个用来接收音频流通道数的变量。 |
530
531**返回:**
532
533AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
534
535
536### OH_AudioCapturer_GetCurrentState()
537
538```
539OH_AudioStream_Result OH_AudioCapturer_GetCurrentState(OH_AudioCapturer *capturer, OH_AudioStream_State *state)
540```
541
542**描述**
543
544查询当前音频流状态。
545
546**起始版本:** 10
547
548**系统能力:** SystemCapability.Multimedia.Audio.Core
549
550**参数:**
551
552| 名称 | 描述 |
553| -------- | -------- |
554| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
555| state | 指向一个用来接收音频流状态的变量。 |
556
557**返回:**
558
559AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
560
561
562### OH_AudioCapturer_GetEncodingType()
563
564```
565OH_AudioStream_Result OH_AudioCapturer_GetEncodingType(OH_AudioCapturer *capturer, OH_AudioStream_EncodingType *encodingType)
566```
567
568**描述**
569
570查询当前音频流编码类型。
571
572**起始版本:** 10
573
574**系统能力:** SystemCapability.Multimedia.Audio.Core
575
576**参数:**
577
578| 名称 | 描述 |
579| -------- | -------- |
580| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
581| encodingType | 指向一个用来接收音频流编码类型的变量。 |
582
583**返回:**
584
585AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
586
587
588### OH_AudioCapturer_GetFrameSizeInCallback()
589
590```
591OH_AudioStream_Result OH_AudioCapturer_GetFrameSizeInCallback(OH_AudioCapturer *capturer, int32_t *frameSize)
592```
593
594**描述**
595
596在回调中查询帧大小,它是每次回调返回的缓冲区的固定长度。
597
598**起始版本:** 10
599
600**系统能力:** SystemCapability.Multimedia.Audio.Core
601
602**参数:**
603
604| 名称 | 描述 |
605| -------- | -------- |
606| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
607| frameSize | 指向将为帧大小设置的变量的指针。 |
608
609**返回:**
610
611AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
612
613
614### OH_AudioCapturer_GetFramesRead()
615
616```
617OH_AudioStream_Result OH_AudioCapturer_GetFramesRead(OH_AudioCapturer *capturer, int64_t *frames)
618```
619
620**描述**
621
622查询自创建流以来已读取的帧数。
623
624**起始版本:** 10
625
626**系统能力:** SystemCapability.Multimedia.Audio.Core
627
628**参数:**
629
630| 名称 | 描述 |
631| -------- | -------- |
632| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
633| frames | 指向将为帧计数设置的变量的指针。 |
634
635**返回:**
636
637AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
638
639
640### OH_AudioCapturer_GetLatencyMode()
641
642```
643OH_AudioStream_Result OH_AudioCapturer_GetLatencyMode(OH_AudioCapturer *capturer, OH_AudioStream_LatencyMode *latencyMode)
644```
645
646**描述**
647
648查询当前音频流时延模式。
649
650**起始版本:** 10
651
652**系统能力:** SystemCapability.Multimedia.Audio.Core
653
654**参数:**
655
656| 名称 | 描述 |
657| -------- | -------- |
658| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
659| latencyMode | 指向一个用来接收音频流时延模式的变量。 |
660
661**返回:**
662
663AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
664
665
666### OH_AudioCapturer_GetSampleFormat()
667
668```
669OH_AudioStream_Result OH_AudioCapturer_GetSampleFormat(OH_AudioCapturer *capturer, OH_AudioStream_SampleFormat *sampleFormat)
670```
671
672**描述**
673
674查询当前输入音频流采样格式。
675
676**起始版本:** 10
677
678**系统能力:** SystemCapability.Multimedia.Audio.Core
679
680**参数:**
681
682| 名称 | 描述 |
683| -------- | -------- |
684| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
685| sampleFormat | 指向一个用来接收音频流采样格式的变量。 |
686
687**返回:**
688
689AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
690
691
692### OH_AudioCapturer_GetSamplingRate()
693
694```
695OH_AudioStream_Result OH_AudioCapturer_GetSamplingRate(OH_AudioCapturer *capturer, int32_t *rate)
696```
697
698**描述**
699
700查询当前输入音频流采样率。
701
702**起始版本:** 10
703
704**系统能力:** SystemCapability.Multimedia.Audio.Core
705
706**参数:**
707
708| 名称 | 描述 |
709| -------- | -------- |
710| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
711| rate | 指向一个用来接收音频流采样率的变量。 |
712
713**返回:**
714
715AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
716
717
718### OH_AudioCapturer_GetStreamId()
719
720```
721OH_AudioStream_Result OH_AudioCapturer_GetStreamId(OH_AudioCapturer *capturer, uint32_t *streamId)
722```
723
724**描述**
725
726查询当前输入音频流ID。
727
728**起始版本:** 10
729
730**系统能力:** SystemCapability.Multimedia.Audio.Core
731
732**参数:**
733
734| 名称 | 描述 |
735| -------- | -------- |
736| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
737| streamId | 指向一个用来接收音频流ID的变量。 |
738
739**返回:**
740
741AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
742
743
744### OH_AudioCapturer_GetTimestamp()
745
746```
747OH_AudioStream_Result OH_AudioCapturer_GetTimestamp(OH_AudioCapturer *capturer, clockid_t clockId, int64_t *framePosition, int64_t *timestamp)
748```
749
750**描述**
751
752获取输入音频流时间戳和位置信息。
753
754**起始版本:** 10
755
756**系统能力:** SystemCapability.Multimedia.Audio.Core
757
758**参数:**
759
760| 名称 | 描述 |
761| -------- | -------- |
762| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
763| clockId | CLOCK_MONOTONIC。 |
764| framePosition | 指向要接收位置的变量的指针。 |
765| timestamp | 指向接收时间戳的变量的指针。 |
766
767**返回:**
768
769AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
770
771
772### OH_AudioCapturer_Pause()
773
774```
775OH_AudioStream_Result OH_AudioCapturer_Pause(OH_AudioCapturer *capturer)
776```
777
778**描述**
779
780暂停输入音频流。
781
782**起始版本:** 10
783
784**系统能力:** SystemCapability.Multimedia.Audio.Core
785
786**参数:**
787
788| 名称 | 描述 |
789| -------- | -------- |
790| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
791
792**需要权限:**
793
794ohos.permission.MICROPHONE
795
796**返回:**
797
798AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
799
800
801### OH_AudioCapturer_Release()
802
803```
804OH_AudioStream_Result OH_AudioCapturer_Release(OH_AudioCapturer *capturer)
805```
806
807**描述**
808
809释放输入音频流。
810
811**起始版本:** 10
812
813**系统能力:** SystemCapability.Multimedia.Audio.Core
814
815**参数:**
816
817| 名称 | 描述 |
818| -------- | -------- |
819| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
820
821**需要权限:**
822
823ohos.permission.MICROPHONE
824
825**返回:**
826
827AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
828
829
830### OH_AudioCapturer_Start()
831
832```
833OH_AudioStream_Result OH_AudioCapturer_Start(OH_AudioCapturer *capturer)
834```
835
836**描述**
837
838开始获取音频数据。
839
840**起始版本:** 10
841
842**系统能力:** SystemCapability.Multimedia.Audio.Core
843
844**参数:**
845
846| 名称 | 描述 |
847| -------- | -------- |
848| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
849
850**需要权限:**
851
852ohos.permission.MICROPHONE
853
854**返回:**
855
856AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
857
858
859### OH_AudioCapturer_Stop()
860
861```
862OH_AudioStream_Result OH_AudioCapturer_Stop(OH_AudioCapturer *capturer)
863```
864
865**描述**
866
867停止输入音频流
868
869**起始版本:** 10
870
871**系统能力:** SystemCapability.Multimedia.Audio.Core
872
873**参数:**
874
875| 名称 | 描述 |
876| -------- | -------- |
877| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
878
879**需要权限:**
880
881ohos.permission.MICROPHONE
882
883**返回:**
884
885AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
886
887
888### OH_AudioRenderer_Flush()
889
890```
891OH_AudioStream_Result OH_AudioRenderer_Flush(OH_AudioRenderer *renderer)
892```
893
894**描述**
895
896丢弃已经写入的音频数据。
897
898**起始版本:** 10
899
900**系统能力:** SystemCapability.Multimedia.Audio.Core
901
902**参数:**
903
904| 名称 | 描述 |
905| -------- | -------- |
906| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 |
907
908**返回:**
909
910AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
911
912
913### OH_AudioRenderer_GetChannelCount()
914
915```
916OH_AudioStream_Result OH_AudioRenderer_GetChannelCount(OH_AudioRenderer *renderer, int32_t *channelCount)
917```
918
919**描述**
920
921查询当前输出音频流通道数。
922
923**起始版本:** 10
924
925**系统能力:** SystemCapability.Multimedia.Audio.Core
926
927**参数:**
928
929| 名称 | 描述 |
930| -------- | -------- |
931| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 |
932| channelCount | 指向一个用来接收音频流通道数的变量。 |
933
934**返回:**
935
936AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
937
938
939### OH_AudioRenderer_GetCurrentState()
940
941```
942OH_AudioStream_Result OH_AudioRenderer_GetCurrentState(OH_AudioRenderer *renderer, OH_AudioStream_State *state)
943```
944
945**描述**
946
947查询当前输出音频流状态。
948
949**起始版本:** 10
950
951**系统能力:** SystemCapability.Multimedia.Audio.Core
952
953**参数:**
954
955| 名称 | 描述 |
956| -------- | -------- |
957| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 |
958| state | 指向一个用来接收音频流状态的变量。 |
959
960**返回:**
961
962AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
963
964
965### OH_AudioRenderer_GetEncodingType()
966
967```
968OH_AudioStream_Result OH_AudioRenderer_GetEncodingType(OH_AudioRenderer *renderer, OH_AudioStream_EncodingType *encodingType)
969```
970
971**描述**
972
973查询当前输出音频流编码类型。
974
975**起始版本:** 10
976
977**系统能力:** SystemCapability.Multimedia.Audio.Core
978
979**参数:**
980
981| 名称 | 描述 |
982| -------- | -------- |
983| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 |
984| encodingType | 指向一个用来接收音频流编码类型的变量。 |
985
986**返回:**
987
988AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
989
990
991### OH_AudioRenderer_GetFrameSizeInCallback()
992
993```
994OH_AudioStream_Result OH_AudioRenderer_GetFrameSizeInCallback(OH_AudioRenderer *renderer, int32_t *frameSize)
995```
996
997**描述**
998
999在回调中查询帧大小,它是一个固定的长度,每次回调都要填充流。
1000
1001**起始版本:** 10
1002
1003**系统能力:** SystemCapability.Multimedia.Audio.Core
1004
1005**参数:**
1006
1007| 名称 | 描述 |
1008| -------- | -------- |
1009| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 |
1010| frameSize | 指向将为帧大小设置的变量的指针。 |
1011
1012**返回:**
1013
1014AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
1015
1016
1017### OH_AudioRenderer_GetFramesWritten()
1018
1019```
1020OH_AudioStream_Result OH_AudioRenderer_GetFramesWritten(OH_AudioRenderer *renderer, int64_t *frames)
1021```
1022
1023**描述**
1024
1025查询自创建流以来已写入的帧数。
1026
1027**起始版本:** 10
1028
1029**系统能力:** SystemCapability.Multimedia.Audio.Core
1030
1031**参数:**
1032
1033| 名称 | 描述 |
1034| -------- | -------- |
1035| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 |
1036| frames | 指向将为帧计数设置的变量的指针。 |
1037
1038**返回:**
1039
1040AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
1041
1042
1043### OH_AudioRenderer_GetLatencyMode()
1044
1045```
1046OH_AudioStream_Result OH_AudioRenderer_GetLatencyMode(OH_AudioRenderer *renderer, OH_AudioStream_LatencyMode *latencyMode)
1047```
1048
1049**描述**
1050
1051查询当前输出音频流时延模式。
1052
1053**起始版本:** 10
1054
1055**系统能力:** SystemCapability.Multimedia.Audio.Core
1056
1057**参数:**
1058
1059| 名称 | 描述 |
1060| -------- | -------- |
1061| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 |
1062| latencyMode | 指向一个用来接收音频流时延模式的变量。 |
1063
1064**返回:**
1065
1066AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
1067
1068
1069### OH_AudioRenderer_GetRendererInfo()
1070
1071```
1072OH_AudioStream_Result OH_AudioRenderer_GetRendererInfo(OH_AudioRenderer *renderer, OH_AudioStream_Usage *usage)
1073```
1074
1075**描述**
1076
1077查询当前输出音频流工作场景类型。
1078
1079**起始版本:** 10
1080
1081**系统能力:** SystemCapability.Multimedia.Audio.Core
1082
1083**参数:**
1084
1085| 名称 | 描述 |
1086| -------- | -------- |
1087| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 |
1088| usage | 指向一个用来接收输出类型音频流的工作场景的变量。 |
1089
1090**返回:**
1091
1092AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
1093
1094
1095### OH_AudioRenderer_GetSampleFormat()
1096
1097```
1098OH_AudioStream_Result OH_AudioRenderer_GetSampleFormat(OH_AudioRenderer *renderer, OH_AudioStream_SampleFormat *sampleFormat)
1099```
1100
1101**描述**
1102
1103查询当前输出音频流采样格式。
1104
1105**起始版本:** 10
1106
1107**系统能力:** SystemCapability.Multimedia.Audio.Core
1108
1109**参数:**
1110
1111| 名称 | 描述 |
1112| -------- | -------- |
1113| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 |
1114| sampleFormat | 指向一个用来接收音频流采样格式的变量。 |
1115
1116**返回:**
1117
1118AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
1119
1120
1121### OH_AudioRenderer_GetSamplingRate()
1122
1123```
1124OH_AudioStream_Result OH_AudioRenderer_GetSamplingRate(OH_AudioRenderer *renderer, int32_t *rate)
1125```
1126
1127**描述**
1128
1129查询当前输出音频流采样率。
1130
1131**起始版本:** 10
1132
1133**系统能力:** SystemCapability.Multimedia.Audio.Core
1134
1135**参数:**
1136
1137| 名称 | 描述 |
1138| -------- | -------- |
1139| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 |
1140| rate | 指向一个用来接收音频流采样率的变量。 |
1141
1142**返回:**
1143
1144AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
1145
1146
1147### OH_AudioRenderer_GetStreamId()
1148
1149```
1150OH_AudioStream_Result OH_AudioRenderer_GetStreamId(OH_AudioRenderer *renderer, uint32_t *streamId)
1151```
1152
1153**描述**
1154
1155查询当前输出音频流ID。
1156
1157**起始版本:** 10
1158
1159**系统能力:** SystemCapability.Multimedia.Audio.Core
1160
1161**参数:**
1162
1163| 名称 | 描述 |
1164| -------- | -------- |
1165| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 |
1166| streamId | 指向一个用来接收音频流ID的变量。 |
1167
1168**返回:**
1169
1170AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
1171
1172
1173### OH_AudioRenderer_GetTimestamp()
1174
1175```
1176OH_AudioStream_Result OH_AudioRenderer_GetTimestamp(OH_AudioRenderer *renderer, clockid_t clockId, int64_t *framePosition, int64_t *timestamp)
1177```
1178
1179**描述**
1180
1181获取输出音频流时间戳和位置信息。
1182
1183**起始版本:** 10
1184
1185**系统能力:** SystemCapability.Multimedia.Audio.Core
1186
1187**参数:**
1188
1189| 名称 | 描述 |
1190| -------- | -------- |
1191| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 |
1192| clockId | CLOCK_MONOTONIC |
1193| framePosition | 指向要接收位置的变量的指针。 |
1194| timestamp | 指向接收时间戳的变量的指针。 |
1195
1196**返回:**
1197
1198AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
1199
1200
1201### OH_AudioRenderer_Pause()
1202
1203```
1204OH_AudioStream_Result OH_AudioRenderer_Pause(OH_AudioRenderer *renderer)
1205```
1206
1207**描述**
1208
1209暂停输出音频流。
1210
1211**起始版本:** 10
1212
1213**系统能力:** SystemCapability.Multimedia.Audio.Core
1214
1215**参数:**
1216
1217| 名称 | 描述 |
1218| -------- | -------- |
1219| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 |
1220
1221**返回:**
1222
1223AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
1224
1225
1226### OH_AudioRenderer_Release()
1227
1228```
1229OH_AudioStream_Result OH_AudioRenderer_Release(OH_AudioRenderer *renderer)
1230```
1231
1232**描述**
1233
1234释放输出音频流。
1235
1236**起始版本:** 10
1237
1238**系统能力:** SystemCapability.Multimedia.Audio.Core
1239
1240**参数:**
1241
1242| 名称 | 描述 |
1243| -------- | -------- |
1244| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 |
1245
1246**返回:**
1247
1248AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
1249
1250
1251### OH_AudioRenderer_Start()
1252
1253```
1254OH_AudioStream_Result OH_AudioRenderer_Start(OH_AudioRenderer *renderer)
1255```
1256
1257**描述**
1258
1259开始输出音频数据。
1260
1261**起始版本:** 10
1262
1263**系统能力:** SystemCapability.Multimedia.Audio.Core
1264
1265**参数:**
1266
1267| 名称 | 描述 |
1268| -------- | -------- |
1269| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 |
1270
1271**返回:**
1272
1273AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
1274
1275
1276### OH_AudioRenderer_Stop()
1277
1278```
1279OH_AudioStream_Result OH_AudioRenderer_Stop(OH_AudioRenderer *renderer)
1280```
1281
1282**描述**
1283
1284停止输出音频流。
1285
1286**起始版本:** 10
1287
1288**系统能力:** SystemCapability.Multimedia.Audio.Core
1289
1290**参数:**
1291
1292| 名称 | 描述 |
1293| -------- | -------- |
1294| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 |
1295
1296**返回:**
1297
1298AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
1299
1300
1301### OH_AudioStreamBuilder_Create()
1302
1303```
1304OH_AudioStream_Result OH_AudioStreamBuilder_Create(OH_AudioStreamBuilder **builder, OH_AudioStream_Type type)
1305```
1306
1307**描述**
1308
1309创建一个输入或者输出类型的音频流构造器。
1310
1311当构造器不再使用时,需要调用OH_AudioStreamBuilder_Destroy()销毁它。
1312
1313**起始版本:** 10
1314
1315**系统能力:** SystemCapability.Multimedia.Audio.Core
1316
1317**参数:**
1318
1319| 名称 | 描述 |
1320| -------- | -------- |
1321| builder | 该引用指向创建的构造器的结果。 |
1322| type | 构造器的流类型。AUDIOSTREAM_TYPE_RERNDERER or AUDIOSTREAM_TYPE_CAPTURER |
1323
1324**返回:**
1325
1326AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
1327
1328
1329### OH_AudioStreamBuilder_Destroy()
1330
1331```
1332OH_AudioStream_Result OH_AudioStreamBuilder_Destroy(OH_AudioStreamBuilder *builder)
1333```
1334
1335**描述**
1336
1337销毁一个音频流构造器。
1338
1339当构造器不再使用时,需要调用该函数销毁它。
1340
1341**起始版本:** 10
1342
1343**系统能力:** SystemCapability.Multimedia.Audio.Core
1344
1345**参数:**
1346
1347| 名称 | 描述 |
1348| -------- | -------- |
1349| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 |
1350
1351**返回:**
1352
1353AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
1354
1355
1356### OH_AudioStreamBuilder_GenerateCapturer()
1357
1358```
1359OH_AudioStream_Result OH_AudioStreamBuilder_GenerateCapturer(OH_AudioStreamBuilder *builder, OH_AudioCapturer **audioCapturer)
1360```
1361
1362**描述**
1363
1364创建输入音频流实例。
1365
1366**起始版本:** 10
1367
1368**系统能力:** SystemCapability.Multimedia.Audio.Core
1369
1370**参数:**
1371
1372| 名称 | 描述 |
1373| -------- | -------- |
1374| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 |
1375| audioCapturer | 指向输入音频流实例的指针,将被用来接收函数创建的结果。 |
1376
1377**返回:**
1378
1379AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
1380
1381
1382### OH_AudioStreamBuilder_GenerateRenderer()
1383
1384```
1385OH_AudioStream_Result OH_AudioStreamBuilder_GenerateRenderer(OH_AudioStreamBuilder *builder, OH_AudioRenderer **audioRenderer)
1386```
1387
1388**描述**
1389
1390创建输出音频流实例。
1391
1392**起始版本:** 10
1393
1394**系统能力:** SystemCapability.Multimedia.Audio.Core
1395
1396**参数:**
1397
1398| 名称 | 描述 |
1399| -------- | -------- |
1400| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 |
1401| audioRenderer | 指向输出音频流实例的指针,将被用来接收函数创建的结果。 |
1402
1403**返回:**
1404
1405AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
1406
1407
1408### OH_AudioStreamBuilder_SetCapturerCallback()
1409
1410```
1411OH_AudioStream_Result OH_AudioStreamBuilder_SetCapturerCallback(OH_AudioStreamBuilder *builder, OH_AudioCapturer_Callbacks callbacks, void *userData)
1412```
1413
1414**描述**
1415
1416设置输入音频流的回调。
1417
1418**起始版本:** 10
1419
1420**系统能力:** SystemCapability.Multimedia.Audio.Core
1421
1422**参数:**
1423
1424| 名称 | 描述 |
1425| -------- | -------- |
1426| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 |
1427| callbacks | 将被用来处理输入音频流相关事件的回调函数。 |
1428| userData | 指向通过回调函数传递的应用数据指针。 |
1429
1430**返回:**
1431
1432AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
1433
1434
1435### OH_AudioStreamBuilder_SetCapturerInfo()
1436
1437```
1438OH_AudioStream_Result OH_AudioStreamBuilder_SetCapturerInfo(OH_AudioStreamBuilder *builder, OH_AudioStream_SourceType sourceType)
1439```
1440
1441**描述**
1442
1443设置输入音频流的工作场景。
1444
1445**起始版本:** 10
1446
1447**系统能力:** SystemCapability.Multimedia.Audio.Core
1448
1449**参数:**
1450
1451| 名称 | 描述 |
1452| -------- | -------- |
1453| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 |
1454| sourceType | 输入音频流属性,使用的工作场景。 |
1455
1456**返回:**
1457
1458AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
1459
1460
1461### OH_AudioStreamBuilder_SetChannelCount()
1462
1463```
1464OH_AudioStream_Result OH_AudioStreamBuilder_SetChannelCount(OH_AudioStreamBuilder *builder, int32_t channelCount)
1465```
1466
1467**描述**
1468
1469设置音频流的通道数属性。
1470
1471**起始版本:** 10
1472
1473**系统能力:** SystemCapability.Multimedia.Audio.Core
1474
1475**参数:**
1476
1477| 名称 | 描述 |
1478| -------- | -------- |
1479| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 |
1480| channelCount | 音频流通道数。 |
1481
1482**返回:**
1483
1484AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
1485
1486
1487### OH_AudioStreamBuilder_SetEncodingType()
1488
1489```
1490OH_AudioStream_Result OH_AudioStreamBuilder_SetEncodingType(OH_AudioStreamBuilder *builder, OH_AudioStream_EncodingType encodingType)
1491```
1492
1493**描述**
1494
1495设置音频流的编码类型属性。
1496
1497**起始版本:** 10
1498
1499**系统能力:** SystemCapability.Multimedia.Audio.Core
1500
1501**参数:**
1502
1503| 名称 | 描述 |
1504| -------- | -------- |
1505| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 |
1506| encodingType | 音频流编码类型, **AUDIOSTREAM_ENCODING_PCM** |
1507
1508**返回:**
1509
1510AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
1511
1512
1513### OH_AudioStreamBuilder_SetFrameSizeInCallback()
1514
1515```
1516OH_AudioStream_Result OH_AudioStreamBuilder_SetFrameSizeInCallback(OH_AudioStreamBuilder *builder, int32_t frameSize)
1517```
1518
1519**描述**
1520
1521设置每次回调的帧长,帧长至少为音频硬件一次处理的数据大小,并且小于内部缓冲容量的一半。
1522
1523**起始版本:** 11
1524
1525**系统能力:** SystemCapability.Multimedia.Audio.Core
1526
1527**参数:**
1528
1529| 名称 | 描述 |
1530| -------- | -------- |
1531| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 |
1532| frameSize | 要设置音频数据的帧长。 |
1533
1534**返回:**
1535
1536AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
1537
1538
1539### OH_AudioStreamBuilder_SetLatencyMode()
1540
1541```
1542OH_AudioStream_Result OH_AudioStreamBuilder_SetLatencyMode(OH_AudioStreamBuilder *builder, OH_AudioStream_LatencyMode latencyMode)
1543```
1544
1545**描述**
1546
1547设置音频流的时延模式。
1548
1549**起始版本:** 10
1550
1551**系统能力:** SystemCapability.Multimedia.Audio.Core
1552
1553**参数:**
1554
1555| 名称 | 描述 |
1556| -------- | -------- |
1557| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 |
1558| latencyMode | 音频流时延模式。 |
1559
1560**返回:**
1561
1562AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
1563
1564
1565### OH_AudioStreamBuilder_SetRendererCallback()
1566
1567```
1568OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererCallback(OH_AudioStreamBuilder *builder, OH_AudioRenderer_Callbacks callbacks, void *userData)
1569```
1570
1571**描述**
1572
1573设置输出音频流的回调。
1574
1575**起始版本:** 10
1576
1577**系统能力:** SystemCapability.Multimedia.Audio.Core
1578
1579**参数:**
1580
1581| 名称 | 描述 |
1582| -------- | -------- |
1583| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 |
1584| callbacks | 将被用来处理输出音频流相关事件的回调函数。 |
1585| userData | 指向通过回调函数传递的应用数据指针。 |
1586
1587**返回:**
1588
1589AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
1590
1591
1592### OH_AudioStreamBuilder_SetRendererInfo()
1593
1594```
1595OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererInfo(OH_AudioStreamBuilder *builder, OH_AudioStream_Usage usage)
1596```
1597
1598**描述**
1599
1600设置输出音频流的工作场景。
1601
1602**起始版本:** 10
1603
1604**系统能力:** SystemCapability.Multimedia.Audio.Core
1605
1606**参数:**
1607
1608| 名称 | 描述 |
1609| -------- | -------- |
1610| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 |
1611| usage | 输出音频流属性,使用的工作场景。 |
1612
1613**返回:**
1614
1615AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
1616
1617
1618### OH_AudioStreamBuilder_SetSampleFormat()
1619
1620```
1621OH_AudioStream_Result OH_AudioStreamBuilder_SetSampleFormat(OH_AudioStreamBuilder *builder, OH_AudioStream_SampleFormat format)
1622```
1623
1624**描述**
1625
1626设置音频流的采样格式属性。
1627
1628**起始版本:** 10
1629
1630**系统能力:** SystemCapability.Multimedia.Audio.Core
1631
1632**参数:**
1633
1634| 名称 | 描述 |
1635| -------- | -------- |
1636| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 |
1637| format | 音频流采样格式。 |
1638
1639**返回:**
1640
1641AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
1642
1643
1644### OH_AudioStreamBuilder_SetSamplingRate()
1645
1646```
1647OH_AudioStream_Result OH_AudioStreamBuilder_SetSamplingRate(OH_AudioStreamBuilder *builder, int32_t rate)
1648```
1649
1650**描述**
1651
1652设置音频流的采样率属性。
1653
1654**起始版本:** 10
1655
1656**系统能力:** SystemCapability.Multimedia.Audio.Core
1657
1658**参数:**
1659
1660| 名称 | 描述 |
1661| -------- | -------- |
1662| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 |
1663| channelCount | 音频流采样率。 |
1664
1665**返回:**
1666
1667AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
1668