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/>**引用文件**:<ohaudio/native_audiocapturer.h><br/>**库**:libohaudio.so | 21| [native_audiorenderer.h](native__audiorenderer_8h.md) | 声明输出类型的音频流相关接口。<br/>**引用文件**:<ohaudio/native_audiorenderer.h><br/>**库**:libohaudio.so | 22| [native_audiostream_base.h](native__audiostream__base_8h.md) | 声明OHAudio基础的数据结构。<br/>**引用文件**:<ohaudio/native_audiostream_base.h><br/>**库**:libohaudio.so | 23| [native_audiostreambuilder.h](native__audiostreambuilder_8h.md) | 声明音频流构造器相关接口。<br/>**引用文件**:<ohaudio/native_audiostreambuilder.h><br/>**库**:libohaudio.so | 24 25 26### 结构体 27 28| 名称 | 描述 | 29| -------- | -------- | 30| struct [OH_AudioRenderer_Callbacks_Struct](_o_h___audio_renderer___callbacks___struct.md) | 声明输出音频流的回调函数指针。 | 31| struct [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