未验证 提交 912cfc4d 编写于 作者: O openharmony_ci 提交者: Gitee

!20175 新增OHAudio相关文档

Merge pull request !20175 from zengyawen/avcodec
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
- [使用AudioRenderer开发音频播放功能](using-audiorenderer-for-playback.md) - [使用AudioRenderer开发音频播放功能](using-audiorenderer-for-playback.md)
- [使用OpenSL ES开发音频播放功能](using-opensl-es-for-playback.md) - [使用OpenSL ES开发音频播放功能](using-opensl-es-for-playback.md)
- [使用TonePlayer开发音频播放功能(仅对系统应用开放)](using-toneplayer-for-playback.md) - [使用TonePlayer开发音频播放功能(仅对系统应用开放)](using-toneplayer-for-playback.md)
- [使用OHAudio开发音频播放功能](using-ohaudio-for-playback.md)
- [多音频播放的并发策略](audio-playback-concurrency.md) - [多音频播放的并发策略](audio-playback-concurrency.md)
- [播放音量管理](volume-management.md) - [播放音量管理](volume-management.md)
- [音效管理](audio-effect-management.md) - [音效管理](audio-effect-management.md)
...@@ -21,6 +22,7 @@ ...@@ -21,6 +22,7 @@
- [使用AVRecorder开发音频录制功能](using-avrecorder-for-recording.md) - [使用AVRecorder开发音频录制功能](using-avrecorder-for-recording.md)
- [使用AudioCapturer开发音频录制功能](using-audiocapturer-for-recording.md) - [使用AudioCapturer开发音频录制功能](using-audiocapturer-for-recording.md)
- [使用OpenSL ES开发音频录制功能](using-opensl-es-for-recording.md) - [使用OpenSL ES开发音频录制功能](using-opensl-es-for-recording.md)
- [使用OHAudio开发音频录制功能](using-ohaudio-for-recording.md)
- [管理麦克风](mic-management.md) - [管理麦克风](mic-management.md)
- [音频录制流管理](audio-recording-stream-management.md) - [音频录制流管理](audio-recording-stream-management.md)
- [音频输入设备管理](audio-input-device-management.md) - [音频输入设备管理](audio-input-device-management.md)
......
# 使用OHAudio开发音频播放功能
OHAudio是OpenHarmony在API10中引入的一套全新C API,此API在设计上实现归一,同时支持普通音频通路和低时延通路。
## 使用入门
开发者要使用OHAudio提供的播放或者录制能力,需要添加对应的头文件。
开发者通过引入<[native_audiostreambuilder.h](../reference/native-apis/native__audiostreambuilder_8h.md)><[native_audiorenderer.h](../reference/native-apis/native__audiorenderer_8h.md)>头文件,使用音频播放相关API。
## 音频流构造器
OHAudio提供OH_AudioStreamBuilder接口,遵循构造器设计模式,用于构建音频流。开发者需要根据业务场景,指定对应的[OH_AudioStream_Type](../reference/native-apis/_o_h_audio.md#oh_audiostream_type)
`OH_AudioStream_Type`包含两种类型:
- AUDIOSTREAM_TYPE_RENDERER
- AUDIOSTREAM_TYPE_CAPTURER
使用[OH_AudioStreamBuilder_Create](../reference/native-apis/_o_h_audio.md#oh_audiostreambuilder_create)创建构造器示例:
```
OH_AudioStreamBuilder* builder;
OH_AudioStreamBuilder_Create(&builder, streamType);
```
在音频业务结束之后,开发者应该执行[OH_AudioStreamBuilder_Destroy](../reference/native-apis/_o_h_audio.md#oh_audiostreambuilder_destroy)接口来销毁构造器。
```
OH_AudioStreamBuilder_Destroy(builder);
```
## 开发步骤及注意事项
详细的API说明请参考[OHAudio API参考](../reference/native-apis/_o_h_audio.md)
开发者可以通过以下几个步骤来实现一个简单的播放功能。
1. 创建构造器
```c++
OH_AudioStreamBuilder* builder;
OH_AudioStreamBuilder_Create(&builder, AUDIOSTREAM_TYPE_RENDERER);
```
2. 配置音频流参数
创建音频播放构造器后,可以设置音频流所需要的参数,可以参考下面的案例。
```c++
OH_AudioStreamBuilder_SetSamplingRate(builder, rate);
OH_AudioStreamBuilder_SetChannelCount(builder, channelCount);
OH_AudioStreamBuilder_SetSampleFormat(builder, format);
OH_AudioStreamBuilder_SetEncodingType(builder, encodingType);
OH_AudioStreamBuilder_SetRendererInfo(builder, usage, content);
```
注意,播放的音频数据要通过回调接口写入,开发者要实现回调接口,使用`OH_AudioStreamBuilder_SetRendererCallback`设置回调函数。回调函数的声明请查看[OH_AudioRenderer_Callbacks](../reference/native-apis/_o_h_audio.md#oh_audiorenderer_callbacks) 。
3. 设置回调函数
```c++
OH_AudioStreamBuilder_SetRendererCallback(builder, callbacks, nullptr);
```
4. 构造播放音频流
```c++
OH_AudioRenderer* audioRenderer;
OH_AudioStreamBuilder_GenerateRenderer(builder, &audioRenderer);
```
5. 使用音频流
音频流包含下面接口,用来实现对音频流的控制。
| 接口 | 说明 |
| ------------------------------------------------------------ | ------------ |
| OH_AudioStream_Result OH_AudioRenderer_Start(OH_AudioRenderer* renderer) | 开始播放 |
| OH_AudioStream_Result OH_AudioRenderer_Pause(OH_AudioRenderer* renderer) | 暂停播放 |
| OH_AudioStream_Result OH_AudioRenderer_Stop(OH_AudioRenderer* renderer) | 停止播放 |
| OH_AudioStream_Result OH_AudioRenderer_Flush(OH_AudioRenderer* renderer) | 释放缓存数据 |
| OH_AudioStream_Result OH_AudioRenderer_Release(OH_AudioRenderer* renderer) | 释放播放实例 |
6. 释放构造器
构造器不在使用时,需要释放它。
```c++
OH_AudioStreamBuilder_Destroy(builder);
```
# 使用OHAudio开发音频录制功能
OHAudio是OpenHarmony在API10中引入的一套全新C API,此API在设计上实现归一,同时支持普通音频通路和低时延通路。
## 使用入门
开发者要使用OHAudio提供的播放或者录制能力,需要添加对应的头文件。
开发者通过引入<[native_audiostreambuilder.h](../reference/native-apis/native__audiostreambuilder_8h.md)><[native_audiocapturer.h](../reference/native-apis/native__audiocapturer_8h.md)>头文件,使用音频录制相关API。
## 音频流构造器
OHAudio提供OH_AudioStreamBuilder接口,遵循构造器设计模式,用于构建音频流。开发者需要根据业务场景,指定对应的[OH_AudioStream_Type](../reference/native-apis/_o_h_audio.md#oh_audiostream_type)
`OH_AudioStream_Type`包含两种类型:
- AUDIOSTREAM_TYPE_RENDERER
- AUDIOSTREAM_TYPE_CAPTURER
使用[OH_AudioStreamBuilder_Create](../reference/native-apis/_o_h_audio.md#oh_audiostreambuilder_create)创建构造器示例:
```
OH_AudioStreamBuilder* builder;
OH_AudioStreamBuilder_Create(&builder, streamType);
```
在音频业务结束之后,开发者应该执行[OH_AudioStreamBuilder_Destroy](../reference/native-apis/_o_h_audio.md#oh_audiostreambuilder_destroy)接口来销毁构造器。
```
OH_AudioStreamBuilder_Destroy(builder);
```
## 开发步骤及注意事项
详细的API说明请参考[OHAudio API参考](../reference/native-apis/_o_h_audio.md)
开发者可以通过以下几个步骤来实现一个简单的录制功能。
1. 创建构造器
```c++
OH_AudioStreamBuilder* builder;
OH_AudioStreamBuilder_Create(&builder, AUDIOSTREAM_TYPE_CAPTURER);
```
2. 配置音频流参数
创建音频播放构造器后,可以设置音频流所需要的参数,可以参考下面的案例。
```c++
OH_AudioStreamBuilder_SetSamplingRate(builder, rate);
OH_AudioStreamBuilder_SetChannelCount(builder, channelCount);
OH_AudioStreamBuilder_SetSampleFormat(builder, format);
OH_AudioStreamBuilder_SetEncodingType(builder, encodingType);
OH_AudioStreamBuilder_SetCapturerInfo(builder, sourceType);
```
同样,音频录制的音频数据要通过回调接口写入,开发者要实现回调接口,使用`OH_AudioStreamBuilder_SetCapturerCallback`设置回调函数。回调函数的声明请查看[OH_AudioCapturer_Callbacks](../reference/native-apis/_o_h_audio.md#oh_audiocapturer_callbacks) 。
3. 设置音频回调函数
```c++
OH_AudioStreamBuilder_SetCapturerCallback(builder, callbacks, nullptr);
```
4. 构造播放音频流
```c++
OH_AudioCapturer* audioCapturer;
OH_AudioStreamBuilder_GenerateCapturer(builder, &audioCapturer);
```
5. 使用音频流
录制音频流包含下面接口,用来实现对音频流的控制。
| 接口 | 说明 |
| ------------------------------------------------------------ | ------------ |
| OH_AudioStream_Result OH_AudioCapturer_Start(OH_AudioCapturer* capturer) | 开始录制 |
| OH_AudioStream_Result OH_AudioCapturer_Pause(OH_AudioCapturer* capturer) | 暂停录制 |
| OH_AudioStream_Result OH_AudioCapturer_Stop(OH_AudioCapturer* capturer) | 停止录制 |
| OH_AudioStream_Result OH_AudioCapturer_Flush(OH_AudioCapturer* capturer) | 释放缓存数据 |
| OH_AudioStream_Result OH_AudioCapturer_Release(OH_AudioCapturer* capturer) | 释放录制实例 |
6. 释放构造器
构造器不在使用时,需要释放它。
```c++
OH_AudioStreamBuilder_Destroy(builder);
```
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
- [VideoEncoder](_video_encoder.md) - [VideoEncoder](_video_encoder.md)
- [AVDemuxer](_a_v_demuxer.md) - [AVDemuxer](_a_v_demuxer.md)
- [AVSource](_a_v_source.md) - [AVSource](_a_v_source.md)
- [OHAudio](_o_h_audio.md)
- [HuksKeyApi](_huks_key_api.md) - [HuksKeyApi](_huks_key_api.md)
- [HuksParamSetApi](_huks_param_set_api.md) - [HuksParamSetApi](_huks_param_set_api.md)
- [HuksTypeApi](_huks_type_api.md) - [HuksTypeApi](_huks_type_api.md)
...@@ -73,6 +74,10 @@ ...@@ -73,6 +74,10 @@
- [native_avmemory.h](native__avmemory_8h.md) - [native_avmemory.h](native__avmemory_8h.md)
- [native_avmuxer.h](native__avmuxer_8h.md) - [native_avmuxer.h](native__avmuxer_8h.md)
- [native_avsource.h](native__avsource_8h.md) - [native_avsource.h](native__avsource_8h.md)
- [native_audiocapturer.h](native__audiocapturer_8h.md)
- [native_audiorenderer.h](native__audiorenderer_8h.md)
- [native_audiostream_base.h](native__audiostream__base_8h.md)
- [native_audiostreambuilder.h](native__audiostreambuilder_8h.md)
- [native_huks_api.h](native__huks__api_8h.md) - [native_huks_api.h](native__huks__api_8h.md)
- [native_huks_param.h](native__huks__param_8h.md) - [native_huks_param.h](native__huks__param_8h.md)
- [native_huks_type.h](native__huks__type_8h.md) - [native_huks_type.h](native__huks__type_8h.md)
...@@ -112,6 +117,8 @@ ...@@ -112,6 +117,8 @@
- [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) - [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md)
- [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) - [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md)
- [OH_AVRange](_o_h___a_v_range.md) - [OH_AVRange](_o_h___a_v_range.md)
- [OH_AudioCapturer_Callbacks_Struct](_o_h___audio_capturer___callbacks___struct.md)
- [OH_AudioRenderer_Callbacks_Struct](_o_h___audio_renderer___callbacks___struct.md)
- [OH_Huks_Blob](_o_h___huks___blob.md) - [OH_Huks_Blob](_o_h___huks___blob.md)
- [OH_Huks_CertChain](_o_h___huks___cert_chain.md) - [OH_Huks_CertChain](_o_h___huks___cert_chain.md)
- [OH_Huks_KeyInfo](_o_h___huks___key_info.md) - [OH_Huks_KeyInfo](_o_h___huks___key_info.md)
......
# OH_AudioCapturer_Callbacks_Struct
## 概述
声明输入音频流的回调函数指针。
\@syscap SystemCapability.Multimedia.Audio.Core
**起始版本:**
10
**相关模块:**
[OHAudio](_o_h_audio.md)
## 汇总
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
| (\*[OH_AudioCapturer_OnReadData](_o_h_audio.md#oh_audiocapturer_onreaddata) )([OH_AudioCapturer](_o_h_audio.md#oh_audiocapturer) \*capturer, void \*userData, void \*buffer, int32_t lenth) | 该函数指针将指向用于读取音频数据的回调函数。 |
# OH_AudioRenderer_Callbacks_Struct
## 概述
声明输出音频流的回调函数指针。
\@syscap SystemCapability.Multimedia.Audio.Core
**起始版本:**
10
**相关模块:**
[OHAudio](_o_h_audio.md)
## 汇总
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
| (\*[OH_AudioRenderer_OnWriteData](_o_h_audio.md#oh_audiorenderer_onwritedata) )([OH_AudioRenderer](_o_h_audio.md#oh_audiorenderer) \*renderer, void \*userData, void \*buffer, int32_t lenth) | 该函数指针将指向用于写入音频数据的回调函数。 |
# OHAudio
## 概述
提供音频模块Native接口定义。
\@syscap SystemCapability.Multimedia.Audio.Core
**起始版本:**
10
## 汇总
### 文件
| 名称 | 描述 |
| -------- | -------- |
| [native_audiocapturer.h](native__audiocapturer_8h.md) | 声明输入类型的音频流相关接口。<br/>**引用文件**&lt;ohaudio/native_audiocapturer.h&gt;<br/>**库**:libohaudio.so |
| [native_audiorenderer.h](native__audiorenderer_8h.md) | 声明输出类型的音频流相关接口。<br/>**引用文件**&lt;ohaudio/native_audiorenderer.h&gt;<br/>**库**:libohaudio.so |
| [native_audiostream_base.h](native__audiostream__base_8h.md) | 声明OHAudio基础的数据结构。<br/>**引用文件**&lt;ohaudio/native_audiostream_base.h&gt;<br/>**库**:libohaudio.so |
| [native_audiostreambuilder.h](native__audiostreambuilder_8h.md) | 声明音频流构造器相关接口。<br/>**引用文件**&lt;ohaudio/native_audiostreambuilder.h&gt;<br/>**库**:libohaudio.so |
### 结构体
| 名称 | 描述 |
| -------- | -------- |
| [OH_AudioRenderer_Callbacks_Struct](_o_h___audio_renderer___callbacks___struct.md) | 声明输出音频流的回调函数指针。 |
| [OH_AudioCapturer_Callbacks_Struct](_o_h___audio_capturer___callbacks___struct.md) | 声明输入音频流的回调函数指针。 |
### 类型定义
| 名称 | 描述 |
| -------- | -------- |
| [OH_AudioStreamBuilder](#oh_audiostreambuilder) | 声明音频流的构造器。 |
| [OH_AudioRenderer](#oh_audiorenderer) | 声明输出音频流。 |
| [OH_AudioCapturer](#oh_audiocapturer) | 声明输入音频流。 |
| [OH_AudioRenderer_Callbacks](#oh_audiorenderer_callbacks) | 声明输出音频流的回调函数指针。 |
| [OH_AudioCapturer_Callbacks](#oh_audiocapturer_callbacks) | 声明输入音频流的回调函数指针。 |
### 枚举
| 名称 | 描述 |
| -------- | -------- |
| [OH_AudioStream_Result](#oh_audiostream_result) { AUDIOSTREAM_SUCCESS, AUDIOSTREAM_ERROR_INVALID_PARAM, AUDIOSTREAM_ERROR_ILLEGAL_STATE, AUDIOSTREAM_ERROR_SYSTEM } | 音频错误码。 |
| [OH_AudioStream_Type](#oh_audiostream_type) { AUDIOSTREAM_TYPE_RENDERER = 1, AUDIOSTREAM_TYPE_CAPTURER = 2 } | 音频流类型。 |
| [OH_AudioStream_SampleFormat](#oh_audiostream_sampleformat) { AUDIOSTREAM_SAMPLE_U8 = 0, AUDIOSTREAM_SAMPLE_S16LE = 1, AUDIOSTREAM_SAMPLE_S24LE = 2, AUDIOSTREAM_SAMPLE_S32LE = 3 } | 定义音频流采样格式。 |
| [OH_AudioStream_EncodingType](#oh_audiostream_encodingtype) { **AUDIOSTREAM_ENCODING_TYPE_RAW** = 0 } | 定义音频流编码类型。 |
| [OH_AudioStream_Usage](#oh_audiostream_usage) { **AUDIOSTREAM_USAGE_UNKNOWN** = 0, **AUDIOSTREAM_USAGE_MUSIC** = 1, **AUDIOSTREAM_USAGE_COMMUNICATION** = 2, **AUDIOSTREAM_USAGE_GAME** = 11 } | 定义音频流使用场景。 |
| [OH_AudioStream_LatencyMode](#oh_audiostream_latencymode) { AUDIOSTREAM_LATENCY_MODE_NORMAL } | 定义音频时延模式。 |
| [OH_AudioStream_State](#oh_audiostream_state) {<br/>AUDIOSTREAM_STATE_INVALID = -1, AUDIOSTREAM_STATE_PREPARED = 1, AUDIOSTREAM_STATE_RUNNING = 2, AUDIOSTREAM_STATE_STOPPED = 3,<br/>AUDIOSTREAM_STATE_RELEASED = 4, AUDIOSTREAM_STATE_PAUSED = 5<br/>} | 定义音频流的状态。 |
| [OH_AudioStream_SourceType](#oh_audiostream_sourcetype) { **AUDIOSTREAM_SOURCE_TYPE_INVALID** = -1, **AUDIOSTREAM_SOURCE_TYPE_MIC**, **AUDIOSTREAM_SOURCE_TYPE_VOICE_RECOGNITION** = 1, **AUDIOSTREAM_SOURCE_TYPE_VOICE_COMMUNICATION** = 7 } | 定义音频流使用场景。 |
### 函数
| 名称 | 描述 |
| -------- | -------- |
| [OH_AudioCapturer_Release](#oh_audiocapturer_release) ([OH_AudioCapturer](#oh_audiocapturer) \*capturer) | 释放音频流。 |
| [OH_AudioCapturer_Start](#oh_audiocapturer_start) ([OH_AudioCapturer](#oh_audiocapturer) \*capturer) | 开始获取音频数据。 |
| [OH_AudioCapturer_Pause](#oh_audiocapturer_pause) ([OH_AudioCapturer](#oh_audiocapturer) \*capturer) | 暂停音频流。 |
| [OH_AudioCapturer_Stop](#oh_audiocapturer_stop) ([OH_AudioCapturer](#oh_audiocapturer) \*capturer) | 停止音频流 |
| [OH_AudioCapturer_Flush](#oh_audiocapturer_flush) ([OH_AudioCapturer](#oh_audiocapturer) \*capturer) | 丢弃获取的音频数据。 |
| [OH_AudioCapturer_GetCurrentState](#oh_audiocapturer_getcurrentstate) ([OH_AudioCapturer](#oh_audiocapturer) \*capturer, [OH_AudioStream_State](#oh_audiostream_state) \*state) | 查询当前音频流状态。 |
| [OH_AudioCapturer_GetLatencyMode](#oh_audiocapturer_getlatencymode) ([OH_AudioCapturer](#oh_audiocapturer) \*capturer, [OH_AudioStream_LatencyMode](#oh_audiostream_latencymode) \*latencyMode) | 查询当前音频流时延模式。 |
| [OH_AudioCapturer_GetStreamId](#oh_audiocapturer_getstreamid) ([OH_AudioCapturer](#oh_audiocapturer) \*capturer, uint32_t \*streamId) | 查询当前音频流ID。 |
| [OH_AudioCapturer_GetSamplingRate](#oh_audiocapturer_getsamplingrate) ([OH_AudioCapturer](#oh_audiocapturer) \*capturer, int32_t \*rate) | 查询当前音频流采样率。 |
| [OH_AudioCapturer_GetChannelCount](#oh_audiocapturer_getchannelcount) ([OH_AudioCapturer](#oh_audiocapturer) \*capturer, int32_t \*channelCount) | 查询当前音频流通道数。 |
| [OH_AudioCapturer_GetSampleFormat](#oh_audiocapturer_getsampleformat) ([OH_AudioCapturer](#oh_audiocapturer) \*capturer, [OH_AudioStream_SampleFormat](#oh_audiostream_sampleformat) \*sampleFormat) | 查询当前音频流采样格式。 |
| [OH_AudioCapturer_GetEncodingType](#oh_audiocapturer_getencodingtype) ([OH_AudioCapturer](#oh_audiocapturer) \*capturer, [OH_AudioStream_EncodingType](#oh_audiostream_encodingtype) \*encodingType) | 查询当前音频流编码类型。 |
| [OH_AudioCapturer_GetCapturerInfo](#oh_audiocapturer_getcapturerinfo) ([OH_AudioCapturer](#oh_audiocapturer) \*capturer, [OH_AudioStream_SourceType](#oh_audiostream_sourcetype) \*sourceType) | 查询当前音频流工作场景类型。 |
| [OH_AudioRenderer_Release](#oh_audiorenderer_release) ([OH_AudioRenderer](#oh_audiorenderer) \*renderer) | 释放音频流。 |
| [OH_AudioRenderer_Start](#oh_audiorenderer_start) ([OH_AudioRenderer](#oh_audiorenderer) \*renderer) | 开始输出音频数据。 |
| [OH_AudioRenderer_Pause](#oh_audiorenderer_pause) ([OH_AudioRenderer](#oh_audiorenderer) \*renderer) | 暂停音频流。 |
| [OH_AudioRenderer_Stop](#oh_audiorenderer_stop) ([OH_AudioRenderer](#oh_audiorenderer) \*renderer) | 停止音频流 |
| [OH_AudioRenderer_Flush](#oh_audiorenderer_flush) ([OH_AudioRenderer](#oh_audiorenderer) \*renderer) | 丢弃已经写入的音频数据。 |
| [OH_AudioRenderer_GetCurrentState](#oh_audiorenderer_getcurrentstate) ([OH_AudioRenderer](#oh_audiorenderer) \*renderer, [OH_AudioStream_State](#oh_audiostream_state) \*state) | 查询当前音频流状态。 |
| [OH_AudioRenderer_GetSamplingRate](#oh_audiorenderer_getsamplingrate) ([OH_AudioRenderer](#oh_audiorenderer) \*renderer, int32_t \*rate) | 查询当前音频流采样率。 |
| [OH_AudioRenderer_GetStreamId](#oh_audiorenderer_getstreamid) ([OH_AudioRenderer](#oh_audiorenderer) \*renderer, uint32_t \*streamId) | 查询当前音频流ID。 |
| [OH_AudioRenderer_GetChannelCount](#oh_audiorenderer_getchannelcount) ([OH_AudioRenderer](#oh_audiorenderer) \*renderer, int32_t \*channelCount) | 查询当前音频流通道数。 |
| [OH_AudioRenderer_GetSampleFormat](#oh_audiorenderer_getsampleformat) ([OH_AudioRenderer](#oh_audiorenderer) \*renderer, [OH_AudioStream_SampleFormat](#oh_audiostream_sampleformat) \*sampleFormat) | 查询当前音频流采样格式。 |
| [OH_AudioRenderer_GetLatencyMode](#oh_audiorenderer_getlatencymode) ([OH_AudioRenderer](#oh_audiorenderer) \*renderer, [OH_AudioStream_LatencyMode](#oh_audiostream_latencymode) \*latencyMode) | 查询当前音频流时延模式。 |
| [OH_AudioRenderer_GetRendererInfo](#oh_audiorenderer_getrendererinfo) ([OH_AudioRenderer](#oh_audiorenderer) \*renderer, [OH_AudioStream_Usage](#oh_audiostream_usage) \*usage) | 查询当前音频流工作场景类型。 |
| [OH_AudioRenderer_GetEncodingType](#oh_audiorenderer_getencodingtype) ([OH_AudioRenderer](#oh_audiorenderer) \*renderer, [OH_AudioStream_EncodingType](#oh_audiostream_encodingtype) \*encodingType) | 查询当前音频流编码类型。 |
| [OH_AudioStreamBuilder_Create](#oh_audiostreambuilder_create) ([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*\*builder, [OH_AudioStream_Type](#oh_audiostream_type) type) | 创建一个输入或者输出类型的音频流构造器。 |
| [OH_AudioStreamBuilder_Destroy](#oh_audiostreambuilder_destroy) ([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder) | 销毁一个音频流构造器。 |
| [OH_AudioStreamBuilder_SetSamplingRate](#oh_audiostreambuilder_setsamplingrate) ([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, int32_t rate) | 设置音频流的采样率属性。 |
| [OH_AudioStreamBuilder_SetChannelCount](#oh_audiostreambuilder_setchannelcount) ([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, int32_t channelCount) | 设置音频流的通道数属性。 |
| [OH_AudioStreamBuilder_SetSampleFormat](#oh_audiostreambuilder_setsampleformat) ([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioStream_SampleFormat](#oh_audiostream_sampleformat) format) | 设置音频流的采样格式属性。 |
| [OH_AudioStreamBuilder_SetEncodingType](#oh_audiostreambuilder_setencodingtype) ([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioStream_EncodingType](#oh_audiostream_encodingtype) encodingType) | 设置音频流的编码类型属性。 |
| [OH_AudioStreamBuilder_SetLatencyMode](#oh_audiostreambuilder_setlatencymode) ([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioStream_LatencyMode](#oh_audiostream_latencymode) latencyMode) | 设置音频流的时延模式。 |
| [OH_AudioStreamBuilder_SetRendererInfo](#oh_audiostreambuilder_setrendererinfo) ([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioStream_Usage](#oh_audiostream_usage) usage) | 设置输出音频流的工作场景。 |
| [OH_AudioStreamBuilder_SetCapturerInfo](#oh_audiostreambuilder_setcapturerinfo) ([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioStream_SourceType](#oh_audiostream_sourcetype) sourceType) | 设置输入音频流的工作场景。 |
| [OH_AudioStreamBuilder_SetRendererCallback](#oh_audiostreambuilder_setrenderercallback) ([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioRenderer_Callbacks](#oh_audiorenderer_callbacks) callbacks, void \*userData) | 设置输出音频流的回调。 |
| [OH_AudioStreamBuilder_SetCapturerCallback](#oh_audiostreambuilder_setcapturercallback) ([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioCapturer_Callbacks](#oh_audiocapturer_callbacks) callbacks, void \*userData) | 设置输入音频流的回调。 |
| [OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer) ([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioRenderer](#oh_audiorenderer) \*\*audioRenderer) | 创建输出音频流实例。 |
| [OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer) ([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioCapturer](#oh_audiocapturer) \*\*audioCapturer) | 创建输入音频流实例。 |
### 变量
| 名称 | 描述 |
| -------- | -------- |
| (\*[OH_AudioRenderer_Callbacks_Struct::OH_AudioRenderer_OnWriteData](#oh_audiorenderer_onwritedata) )([OH_AudioRenderer](#oh_audiorenderer) \*renderer, void \*userData, void \*buffer, int32_t lenth) | 该函数指针将指向用于写入音频数据的回调函数。 |
| (\*[OH_AudioCapturer_Callbacks_Struct::OH_AudioCapturer_OnReadData](#oh_audiocapturer_onreaddata) )([OH_AudioCapturer](#oh_audiocapturer) \*capturer, void \*userData, void \*buffer, int32_t lenth) | 该函数指针将指向用于读取音频数据的回调函数。 |
## 类型定义说明
### OH_AudioCapturer
```
typedef struct OH_AudioCapturerStruct OH_AudioCapturer
```
**描述:**
声明输入音频流。
输入音频流的实例被用来获取音频数据。
\@syscap SystemCapability.Multimedia.Audio.Core
**起始版本:**
10
### OH_AudioCapturer_Callbacks
```
typedef struct OH_AudioCapturer_Callbacks_StructOH_AudioCapturer_Callbacks
```
**描述:**
声明输入音频流的回调函数指针。
\@syscap SystemCapability.Multimedia.Audio.Core
**起始版本:**
10
### OH_AudioRenderer
```
typedef struct OH_AudioRendererStruct OH_AudioRenderer
```
**描述:**
声明输出音频流。
输出音频流的实例被用来播放音频数据。
\@syscap SystemCapability.Multimedia.Audio.Core
**起始版本:**
10
### OH_AudioRenderer_Callbacks
```
typedef struct OH_AudioRenderer_Callbacks_StructOH_AudioRenderer_Callbacks
```
**描述:**
声明输出音频流的回调函数指针。
\@syscap SystemCapability.Multimedia.Audio.Core
**起始版本:**
10
### OH_AudioStreamBuilder
```
typedef struct OH_AudioStreamBuilderStruct OH_AudioStreamBuilder
```
**描述:**
声明音频流的构造器。
构造器实例通常被用来设置音频流属性和创建音频流。
\@syscap SystemCapability.Multimedia.Audio.Core
**起始版本:**
10
## 枚举类型说明
### OH_AudioStream_EncodingType
```
enum OH_AudioStream_EncodingType
```
**描述:**
定义音频流编码类型。
\@syscap SystemCapability.Multimedia.Audio.Core
**起始版本:**
10
| 枚举值 | 描述 |
| -------- | -------- |
| AUDIOSTREAM_ENCODING_TYPE_RAW | PCM编码。 |
### OH_AudioStream_LatencyMode
```
enum OH_AudioStream_LatencyMode
```
**描述:**
定义音频时延模式。
\@syscap SystemCapability.Multimedia.Audio.Core
**起始版本:**
10
| 枚举值 | 描述 |
| -------- | -------- |
| AUDIOSTREAM_LATENCY_MODE_NORMAL | 该模式代表一个普通时延的音频流。 |
### OH_AudioStream_Result
```
enum OH_AudioStream_Result
```
**描述:**
音频错误码。
\@syscap SystemCapability.Multimedia.Audio.Core
**起始版本:**
10
| 枚举值 | 描述 |
| -------- | -------- |
| AUDIOSTREAM_SUCCESS | 操作成功 |
| AUDIOSTREAM_ERROR_INVALID_PARAM | 入参错误。 |
| AUDIOSTREAM_ERROR_ILLEGAL_STATE | 非法状态。 |
| AUDIOSTREAM_ERROR_SYSTEM | 系统通用错误。 |
### OH_AudioStream_SampleFormat
```
enum OH_AudioStream_SampleFormat
```
**描述:**
定义音频流采样格式。
\@syscap SystemCapability.Multimedia.Audio.Core
**起始版本:**
10
| 枚举值 | 描述 |
| -------- | -------- |
| AUDIOSTREAM_SAMPLE_U8 | Unsigned 8位。 |
| AUDIOSTREAM_SAMPLE_S16LE | Short 16位小端。 |
| AUDIOSTREAM_SAMPLE_S24LE | Short 24位小端。 |
| AUDIOSTREAM_SAMPLE_S32LE | Short 32位小端。 |
### OH_AudioStream_SourceType
```
enum OH_AudioStream_SourceType
```
**描述:**
定义音频流使用场景。
通常用来描述音频输入流的使用场景。
\@syscap SystemCapability.Multimedia.Audio.Core
**起始版本:**
10
| 枚举值 | 描述 |
| -------- | -------- |
| AUDIOSTREAM_SOURCE_TYPE_INVALID | 不合法状态。 |
| AUDIOSTREAM_SOURCE_TYPE_MIC | 录音。 |
| AUDIOSTREAM_SOURCE_TYPE_VOICE_RECOGNITION | 语音识别。 |
| AUDIOSTREAM_SOURCE_TYPE_VOICE_COMMUNICATION | 通话。 |
### OH_AudioStream_State
```
enum OH_AudioStream_State
```
**描述:**
定义音频流的状态。
\@syscap SystemCapability.Multimedia.Audio.Core
**起始版本:**
10
| 枚举值 | 描述 |
| -------- | -------- |
| AUDIOSTREAM_STATE_INVALID | 不合法的状态。 |
| AUDIOSTREAM_STATE_PREPARED | 准备状态。 |
| AUDIOSTREAM_STATE_RUNNING | 工作状态。 |
| AUDIOSTREAM_STATE_STOPPED | 停止状态。 |
| AUDIOSTREAM_STATE_RELEASED | 释放状态。 |
| AUDIOSTREAM_STATE_PAUSED | 暂停状态。 |
### OH_AudioStream_Type
```
enum OH_AudioStream_Type
```
**描述:**
音频流类型。
\@syscap SystemCapability.Multimedia.Audio.Core
**起始版本:**
10
| 枚举值 | 描述 |
| -------- | -------- |
| AUDIOSTREAM_TYPE_RENDERER | 该类型代表音频流是输出流。 |
| AUDIOSTREAM_TYPE_CAPTURER | 该类型代表音频流是输入流。 |
### OH_AudioStream_Usage
```
enum OH_AudioStream_Usage
```
**描述:**
定义音频流使用场景。
通常用来描述音频输出流的使用场景。
\@syscap SystemCapability.Multimedia.Audio.Core
**起始版本:**
10
| 枚举值 | 描述 |
| -------- | -------- |
| AUDIOSTREAM_USAGE_UNKNOWN | 未定义。 |
| AUDIOSTREAM_USAGE_MUSIC | 音乐。 |
| AUDIOSTREAM_USAGE_COMMUNICATION | 通话。 |
| AUDIOSTREAM_USAGE_GAME | 游戏。 |
## 函数说明
### OH_AudioCapturer_Flush()
```
OH_AudioStream_Result OH_AudioCapturer_Flush (OH_AudioCapturer * capturer)
```
**描述:**
丢弃获取的音频数据。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。
**起始版本:**
10
### OH_AudioCapturer_GetCapturerInfo()
```
OH_AudioStream_Result OH_AudioCapturer_GetCapturerInfo (OH_AudioCapturer * capturer, OH_AudioStream_SourceType * sourceType )
```
**描述:**
查询当前音频流工作场景类型。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
| sourceType | 指向一个用来接收输入类型音频流的工作场景的变量。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioCapturer_GetChannelCount()
```
OH_AudioStream_Result OH_AudioCapturer_GetChannelCount (OH_AudioCapturer * capturer, int32_t * channelCount )
```
**描述:**
查询当前音频流通道数。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
| channelCount | 指向一个用来接收音频流通道数的变量。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioCapturer_GetCurrentState()
```
OH_AudioStream_Result OH_AudioCapturer_GetCurrentState (OH_AudioCapturer * capturer, OH_AudioStream_State * state )
```
**描述:**
查询当前音频流状态。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
| state | 指向一个用来接收音频流状态的变量。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioCapturer_GetEncodingType()
```
OH_AudioStream_Result OH_AudioCapturer_GetEncodingType (OH_AudioCapturer * capturer, OH_AudioStream_EncodingType * encodingType )
```
**描述:**
查询当前音频流编码类型。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
| encodingType | 指向一个用来接收音频流编码类型的变量。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioCapturer_GetLatencyMode()
```
OH_AudioStream_Result OH_AudioCapturer_GetLatencyMode (OH_AudioCapturer * capturer, OH_AudioStream_LatencyMode * latencyMode )
```
**描述:**
查询当前音频流时延模式。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
| latencyMode | 指向一个用来接收音频流时延模式的变量。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioCapturer_GetSampleFormat()
```
OH_AudioStream_Result OH_AudioCapturer_GetSampleFormat (OH_AudioCapturer * capturer, OH_AudioStream_SampleFormat * sampleFormat )
```
**描述:**
查询当前音频流采样格式。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
| sampleFormat | 指向一个用来接收音频流采样格式的变量。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioCapturer_GetSamplingRate()
```
OH_AudioStream_Result OH_AudioCapturer_GetSamplingRate (OH_AudioCapturer * capturer, int32_t * rate )
```
**描述:**
查询当前音频流采样率。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
| rate | 指向一个用来接收音频流采样率的变量。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioCapturer_GetStreamId()
```
OH_AudioStream_Result OH_AudioCapturer_GetStreamId (OH_AudioCapturer * capturer, uint32_t * streamId )
```
**描述:**
查询当前音频流ID。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
| streamId | 指向一个用来接收音频流ID的变量。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioCapturer_Pause()
```
OH_AudioStream_Result OH_AudioCapturer_Pause (OH_AudioCapturer * capturer)
```
**描述:**
暂停音频流。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioCapturer_Release()
```
OH_AudioStream_Result OH_AudioCapturer_Release (OH_AudioCapturer * capturer)
```
**描述:**
释放音频流。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioCapturer_Start()
```
OH_AudioStream_Result OH_AudioCapturer_Start (OH_AudioCapturer * capturer)
```
**描述:**
开始获取音频数据。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioCapturer_Stop()
```
OH_AudioStream_Result OH_AudioCapturer_Stop (OH_AudioCapturer * capturer)
```
**描述:**
停止音频流
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioRenderer_Flush()
```
OH_AudioStream_Result OH_AudioRenderer_Flush (OH_AudioRenderer * renderer)
```
**描述:**
丢弃已经写入的音频数据。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioRenderer_GetChannelCount()
```
OH_AudioStream_Result OH_AudioRenderer_GetChannelCount (OH_AudioRenderer * renderer, int32_t * channelCount )
```
**描述:**
查询当前音频流通道数。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 |
| channelCount | 指向一个用来接收音频流通道数的变量。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioRenderer_GetCurrentState()
```
OH_AudioStream_Result OH_AudioRenderer_GetCurrentState (OH_AudioRenderer * renderer, OH_AudioStream_State * state )
```
**描述:**
查询当前音频流状态。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 |
| state | 指向一个用来接收音频流状态的变量。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioRenderer_GetEncodingType()
```
OH_AudioStream_Result OH_AudioRenderer_GetEncodingType (OH_AudioRenderer * renderer, OH_AudioStream_EncodingType * encodingType )
```
**描述:**
查询当前音频流编码类型。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 |
| encodingType | 指向一个用来接收音频流编码类型的变量。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioRenderer_GetLatencyMode()
```
OH_AudioStream_Result OH_AudioRenderer_GetLatencyMode (OH_AudioRenderer * renderer, OH_AudioStream_LatencyMode * latencyMode )
```
**描述:**
查询当前音频流时延模式。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 |
| latencyMode | 指向一个用来接收音频流时延模式的变量。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioRenderer_GetRendererInfo()
```
OH_AudioStream_Result OH_AudioRenderer_GetRendererInfo (OH_AudioRenderer * renderer, OH_AudioStream_Usage * usage )
```
**描述:**
查询当前音频流工作场景类型。
The rendere info includes [OH_AudioStream_Usage](#oh_audiostream_usage) value and **OH_AudioStream_Content** value.
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 |
| usage | 指向一个用来接收输出类型音频流的工作场景的变量。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioRenderer_GetSampleFormat()
```
OH_AudioStream_Result OH_AudioRenderer_GetSampleFormat (OH_AudioRenderer * renderer, OH_AudioStream_SampleFormat * sampleFormat )
```
**描述:**
查询当前音频流采样格式。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 |
| sampleFormat | 指向一个用来接收音频流采样格式的变量。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioRenderer_GetSamplingRate()
```
OH_AudioStream_Result OH_AudioRenderer_GetSamplingRate (OH_AudioRenderer * renderer, int32_t * rate )
```
**描述:**
查询当前音频流采样率。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 |
| rate | 指向一个用来接收音频流采样率的变量。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioRenderer_GetStreamId()
```
OH_AudioStream_Result OH_AudioRenderer_GetStreamId (OH_AudioRenderer * renderer, uint32_t * streamId )
```
**描述:**
查询当前音频流ID。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 |
| streamId | 指向一个用来接收音频流ID的变量。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioRenderer_Pause()
```
OH_AudioStream_Result OH_AudioRenderer_Pause (OH_AudioRenderer * renderer)
```
**描述:**
暂停音频流。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioRenderer_Release()
```
OH_AudioStream_Result OH_AudioRenderer_Release (OH_AudioRenderer * renderer)
```
**描述:**
释放音频流。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioRenderer_Start()
```
OH_AudioStream_Result OH_AudioRenderer_Start (OH_AudioRenderer * renderer)
```
**描述:**
开始输出音频数据。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioRenderer_Stop()
```
OH_AudioStream_Result OH_AudioRenderer_Stop (OH_AudioRenderer * renderer)
```
**描述:**
停止音频流
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioStreamBuilder_Create()
```
OH_AudioStream_Result OH_AudioStreamBuilder_Create (OH_AudioStreamBuilder ** builder, OH_AudioStream_Type type )
```
**描述:**
创建一个输入或者输出类型的音频流构造器。
当构造器不再使用时,需要调用OH_AudioStreamBuilder_Destroy()销毁它。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| builder | 该引用指向创建的构造器的结果。 |
| type | 构造器的流类型。AUDIOSTREAM_TYPE_RENDERER or AUDIOSTREAM_TYPE_CAPTURER |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioStreamBuilder_Destroy()
```
OH_AudioStream_Result OH_AudioStreamBuilder_Destroy (OH_AudioStreamBuilder * builder)
```
**描述:**
销毁一个音频流构造器。
当构造器不再使用时,需要调用该函数销毁它。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioStreamBuilder_GenerateCapturer()
```
OH_AudioStream_Result OH_AudioStreamBuilder_GenerateCapturer (OH_AudioStreamBuilder * builder, OH_AudioCapturer ** audioCapturer )
```
**描述:**
创建输入音频流实例。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 |
| audioCapturer | 指向输入音频流实例的指针,将被用来接收函数创建的结果。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioStreamBuilder_GenerateRenderer()
```
OH_AudioStream_Result OH_AudioStreamBuilder_GenerateRenderer (OH_AudioStreamBuilder * builder, OH_AudioRenderer ** audioRenderer )
```
**描述:**
创建输出音频流实例。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 |
| audioRenderer | 指向输出音频流实例的指针,将被用来接收函数创建的结果。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioStreamBuilder_SetCapturerCallback()
```
OH_AudioStream_Result OH_AudioStreamBuilder_SetCapturerCallback (OH_AudioStreamBuilder * builder, OH_AudioCapturer_Callbacks callbacks, void * userData )
```
**描述:**
设置输入音频流的回调。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 |
| callbacks | 将被用来处理输入音频流相关事件的回调函数。 |
| userData | 指向通过回调函数传递的应用数据指针。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioStreamBuilder_SetCapturerInfo()
```
OH_AudioStream_Result OH_AudioStreamBuilder_SetCapturerInfo (OH_AudioStreamBuilder * builder, OH_AudioStream_SourceType sourceType )
```
**描述:**
设置输入音频流的工作场景。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 |
| sourceType | 输入音频流属性,使用的工作场景。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioStreamBuilder_SetChannelCount()
```
OH_AudioStream_Result OH_AudioStreamBuilder_SetChannelCount (OH_AudioStreamBuilder * builder, int32_t channelCount )
```
**描述:**
设置音频流的通道数属性。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 |
| channelCount | 音频流通道数。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioStreamBuilder_SetEncodingType()
```
OH_AudioStream_Result OH_AudioStreamBuilder_SetEncodingType (OH_AudioStreamBuilder * builder, OH_AudioStream_EncodingType encodingType )
```
**描述:**
设置音频流的编码类型属性。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 |
| encodingType | 音频流编码类型, **AUDIOSTREAM_ENCODING_PCM** |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioStreamBuilder_SetLatencyMode()
```
OH_AudioStream_Result OH_AudioStreamBuilder_SetLatencyMode (OH_AudioStreamBuilder * builder, OH_AudioStream_LatencyMode latencyMode )
```
**描述:**
设置音频流的时延模式。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 |
| latencyMode | 音频流时延模式。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioStreamBuilder_SetRendererCallback()
```
OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererCallback (OH_AudioStreamBuilder * builder, OH_AudioRenderer_Callbacks callbacks, void * userData )
```
**描述:**
设置输出音频流的回调。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 |
| callbacks | 将被用来处理输出音频流相关事件的回调函数。 |
| userData | 指向通过回调函数传递的应用数据指针。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioStreamBuilder_SetRendererInfo()
```
OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererInfo (OH_AudioStreamBuilder * builder, OH_AudioStream_Usage usage )
```
**描述:**
设置输出音频流的工作场景。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 |
| usage | 输出音频流属性,使用的工作场景。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioStreamBuilder_SetSampleFormat()
```
OH_AudioStream_Result OH_AudioStreamBuilder_SetSampleFormat (OH_AudioStreamBuilder * builder, OH_AudioStream_SampleFormat format )
```
**描述:**
设置音频流的采样格式属性。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 |
| format | 音频流采样格式。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
### OH_AudioStreamBuilder_SetSamplingRate()
```
OH_AudioStream_Result OH_AudioStreamBuilder_SetSamplingRate (OH_AudioStreamBuilder * builder, int32_t rate )
```
**描述:**
设置音频流的采样率属性。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 |
| channelCount | 音频流采样率。 |
**返回:**
AUDIOSTREAM_SUCCESS 或者一个不期望发生的错误。
**起始版本:**
10
## 变量说明
### OH_AudioCapturer_OnReadData
```
int32_t(* OH_AudioCapturer_Callbacks_Struct::OH_AudioCapturer_OnReadData) (OH_AudioCapturer *capturer, void *userData, void *buffer, int32_t lenth)
```
**描述:**
该函数指针将指向用于读取音频数据的回调函数。
**起始版本:**
10
### OH_AudioRenderer_OnWriteData
```
int32_t(* OH_AudioRenderer_Callbacks_Struct::OH_AudioRenderer_OnWriteData) (OH_AudioRenderer *renderer, void *userData, void *buffer, int32_t lenth)
```
**描述:**
该函数指针将指向用于写入音频数据的回调函数。
**起始版本:**
10
# native_audiocapturer.h
## 概述
声明输入类型的音频流相关接口,
\@syscap SystemCapability.Multimedia.Audio.Core
**起始版本:**
10
**相关模块:**
[OHAudio](_o_h_audio.md)
## 汇总
### 函数
| 名称 | 描述 |
| -------- | -------- |
| [OH_AudioCapturer_Release](_o_h_audio.md#oh_audiocapturer_release) ([OH_AudioCapturer](_o_h_audio.md#oh_audiocapturer) \*capturer) | 释放音频流。 |
| [OH_AudioCapturer_Start](_o_h_audio.md#oh_audiocapturer_start) ([OH_AudioCapturer](_o_h_audio.md#oh_audiocapturer) \*capturer) | 开始获取音频数据。 |
| [OH_AudioCapturer_Pause](_o_h_audio.md#oh_audiocapturer_pause) ([OH_AudioCapturer](_o_h_audio.md#oh_audiocapturer) \*capturer) | 暂停音频流。 |
| [OH_AudioCapturer_Stop](_o_h_audio.md#oh_audiocapturer_stop) ([OH_AudioCapturer](_o_h_audio.md#oh_audiocapturer) \*capturer) | 停止音频流 |
| [OH_AudioCapturer_Flush](_o_h_audio.md#oh_audiocapturer_flush) ([OH_AudioCapturer](_o_h_audio.md#oh_audiocapturer) \*capturer) | 丢弃获取的音频数据。 |
| [OH_AudioCapturer_GetCurrentState](_o_h_audio.md#oh_audiocapturer_getcurrentstate) ([OH_AudioCapturer](_o_h_audio.md#oh_audiocapturer) \*capturer, [OH_AudioStream_State](_o_h_audio.md#oh_audiostream_state) \*state) | 查询当前音频流状态。 |
| [OH_AudioCapturer_GetLatencyMode](_o_h_audio.md#oh_audiocapturer_getlatencymode) ([OH_AudioCapturer](_o_h_audio.md#oh_audiocapturer) \*capturer, [OH_AudioStream_LatencyMode](_o_h_audio.md#oh_audiostream_latencymode) \*latencyMode) | 查询当前音频流时延模式。 |
| [OH_AudioCapturer_GetStreamId](_o_h_audio.md#oh_audiocapturer_getstreamid) ([OH_AudioCapturer](_o_h_audio.md#oh_audiocapturer) \*capturer, uint32_t \*streamId) | 查询当前音频流ID。 |
| [OH_AudioCapturer_GetSamplingRate](_o_h_audio.md#oh_audiocapturer_getsamplingrate) ([OH_AudioCapturer](_o_h_audio.md#oh_audiocapturer) \*capturer, int32_t \*rate) | 查询当前音频流采样率。 |
| [OH_AudioCapturer_GetChannelCount](_o_h_audio.md#oh_audiocapturer_getchannelcount) ([OH_AudioCapturer](_o_h_audio.md#oh_audiocapturer) \*capturer, int32_t \*channelCount) | 查询当前音频流通道数。 |
| [OH_AudioCapturer_GetSampleFormat](_o_h_audio.md#oh_audiocapturer_getsampleformat) ([OH_AudioCapturer](_o_h_audio.md#oh_audiocapturer) \*capturer, [OH_AudioStream_SampleFormat](_o_h_audio.md#oh_audiostream_sampleformat) \*sampleFormat) | 查询当前音频流采样格式。 |
| [OH_AudioCapturer_GetEncodingType](_o_h_audio.md#oh_audiocapturer_getencodingtype) ([OH_AudioCapturer](_o_h_audio.md#oh_audiocapturer) \*capturer, [OH_AudioStream_EncodingType](_o_h_audio.md#oh_audiostream_encodingtype) \*encodingType) | 查询当前音频流编码类型。 |
| [OH_AudioCapturer_GetCapturerInfo](_o_h_audio.md#oh_audiocapturer_getcapturerinfo) ([OH_AudioCapturer](_o_h_audio.md#oh_audiocapturer) \*capturer, [OH_AudioStream_SourceType](_o_h_audio.md#oh_audiostream_sourcetype) \*sourceType) | 查询当前音频流工作场景类型。 |
# native_audiorenderer.h
## 概述
声明输出类型的音频流相关接口,
\@syscap SystemCapability.Multimedia.Audio.Core
**起始版本:**
10
**相关模块:**
[OHAudio](_o_h_audio.md)
## 汇总
### 函数
| 名称 | 描述 |
| -------- | -------- |
| [OH_AudioRenderer_Release](_o_h_audio.md#oh_audiorenderer_release) ([OH_AudioRenderer](_o_h_audio.md#oh_audiorenderer) \*renderer) | 释放音频流。 |
| [OH_AudioRenderer_Start](_o_h_audio.md#oh_audiorenderer_start) ([OH_AudioRenderer](_o_h_audio.md#oh_audiorenderer) \*renderer) | 开始输出音频数据。 |
| [OH_AudioRenderer_Pause](_o_h_audio.md#oh_audiorenderer_pause) ([OH_AudioRenderer](_o_h_audio.md#oh_audiorenderer) \*renderer) | 暂停音频流。 |
| [OH_AudioRenderer_Stop](_o_h_audio.md#oh_audiorenderer_stop) ([OH_AudioRenderer](_o_h_audio.md#oh_audiorenderer) \*renderer) | 停止音频流 |
| [OH_AudioRenderer_Flush](_o_h_audio.md#oh_audiorenderer_flush) ([OH_AudioRenderer](_o_h_audio.md#oh_audiorenderer) \*renderer) | 丢弃已经写入的音频数据。 |
| [OH_AudioRenderer_GetCurrentState](_o_h_audio.md#oh_audiorenderer_getcurrentstate) ([OH_AudioRenderer](_o_h_audio.md#oh_audiorenderer) \*renderer, [OH_AudioStream_State](_o_h_audio.md#oh_audiostream_state) \*state) | 查询当前音频流状态。 |
| [OH_AudioRenderer_GetSamplingRate](_o_h_audio.md#oh_audiorenderer_getsamplingrate) ([OH_AudioRenderer](_o_h_audio.md#oh_audiorenderer) \*renderer, int32_t \*rate) | 查询当前音频流采样率。 |
| [OH_AudioRenderer_GetStreamId](_o_h_audio.md#oh_audiorenderer_getstreamid) ([OH_AudioRenderer](_o_h_audio.md#oh_audiorenderer) \*renderer, uint32_t \*streamId) | 查询当前音频流ID。 |
| [OH_AudioRenderer_GetChannelCount](_o_h_audio.md#oh_audiorenderer_getchannelcount) ([OH_AudioRenderer](_o_h_audio.md#oh_audiorenderer) \*renderer, int32_t \*channelCount) | 查询当前音频流通道数。 |
| [OH_AudioRenderer_GetSampleFormat](_o_h_audio.md#oh_audiorenderer_getsampleformat) ([OH_AudioRenderer](_o_h_audio.md#oh_audiorenderer) \*renderer, [OH_AudioStream_SampleFormat](_o_h_audio.md#oh_audiostream_sampleformat) \*sampleFormat) | 查询当前音频流采样格式。 |
| [OH_AudioRenderer_GetLatencyMode](_o_h_audio.md#oh_audiorenderer_getlatencymode) ([OH_AudioRenderer](_o_h_audio.md#oh_audiorenderer) \*renderer, [OH_AudioStream_LatencyMode](_o_h_audio.md#oh_audiostream_latencymode) \*latencyMode) | 查询当前音频流时延模式。 |
| [OH_AudioRenderer_GetRendererInfo](_o_h_audio.md#oh_audiorenderer_getrendererinfo) ([OH_AudioRenderer](_o_h_audio.md#oh_audiorenderer) \*renderer, [OH_AudioStream_Usage](_o_h_audio.md#oh_audiostream_usage) \*usage) | 查询当前音频流工作场景类型。 |
| [OH_AudioRenderer_GetEncodingType](_o_h_audio.md#oh_audiorenderer_getencodingtype) ([OH_AudioRenderer](_o_h_audio.md#oh_audiorenderer) \*renderer, [OH_AudioStream_EncodingType](_o_h_audio.md#oh_audiostream_encodingtype) \*encodingType) | 查询当前音频流编码类型。 |
# native_audiostream_base.h
## 概述
声明OHAudio基础的数据结构。
\@syscap SystemCapability.Multimedia.Audio.Core
**起始版本:**
10
**相关模块:**
[OHAudio](_o_h_audio.md)
## 汇总
### 结构体
| 名称 | 描述 |
| -------- | -------- |
| [OH_AudioRenderer_Callbacks_Struct](_o_h___audio_renderer___callbacks___struct.md) | 声明输出音频流的回调函数指针。 |
| [OH_AudioCapturer_Callbacks_Struct](_o_h___audio_capturer___callbacks___struct.md) | 声明输入音频流的回调函数指针。 |
### 类型定义
| 名称 | 描述 |
| -------- | -------- |
| [OH_AudioStreamBuilder](_o_h_audio.md#oh_audiostreambuilder) | 声明音频流的构造器。 |
| [OH_AudioRenderer](_o_h_audio.md#oh_audiorenderer) | 声明输出音频流。 |
| [OH_AudioCapturer](_o_h_audio.md#oh_audiocapturer) | 声明输入音频流。 |
| [OH_AudioRenderer_Callbacks](_o_h_audio.md#oh_audiorenderer_callbacks) | 声明输出音频流的回调函数指针。 |
| [OH_AudioCapturer_Callbacks](_o_h_audio.md#oh_audiocapturer_callbacks) | 声明输入音频流的回调函数指针。 |
### 枚举
| 名称 | 描述 |
| -------- | -------- |
| [OH_AudioStream_Result](_o_h_audio.md#oh_audiostream_result) { [AUDIOSTREAM_SUCCESS](_o_h_audio.md), [AUDIOSTREAM_ERROR_INVALID_PARAM](_o_h_audio.md), [AUDIOSTREAM_ERROR_ILLEGAL_STATE](_o_h_audio.md), [AUDIOSTREAM_ERROR_SYSTEM](_o_h_audio.md) } | 音频错误码。 |
| [OH_AudioStream_Type](_o_h_audio.md#oh_audiostream_type) { [AUDIOSTREAM_TYPE_RENDERER](_o_h_audio.md) = 1, [AUDIOSTREAM_TYPE_CAPTURER](_o_h_audio.md) = 2 } | 音频流类型。 |
| [OH_AudioStream_SampleFormat](_o_h_audio.md#oh_audiostream_sampleformat) { [AUDIOSTREAM_SAMPLE_U8](_o_h_audio.md) = 0, [AUDIOSTREAM_SAMPLE_S16LE](_o_h_audio.md) = 1, [AUDIOSTREAM_SAMPLE_S24LE](_o_h_audio.md) = 2, [AUDIOSTREAM_SAMPLE_S32LE](_o_h_audio.md) = 3 } | 定义音频流采样格式。 |
| [OH_AudioStream_EncodingType](_o_h_audio.md#oh_audiostream_encodingtype) { **AUDIOSTREAM_ENCODING_TYPE_RAW** = 0 } | 定义音频流编码类型。 |
| [OH_AudioStream_Usage](_o_h_audio.md#oh_audiostream_usage) { **AUDIOSTREAM_USAGE_UNKNOWN** = 0, **AUDIOSTREAM_USAGE_MUSIC** = 1, **AUDIOSTREAM_USAGE_COMMUNICATION** = 2, **AUDIOSTREAM_USAGE_GAME** = 11 } | 定义音频流使用场景。 |
| [OH_AudioStream_LatencyMode](_o_h_audio.md#oh_audiostream_latencymode) { [AUDIOSTREAM_LATENCY_MODE_NORMAL](_o_h_audio.md) } | 定义音频时延模式。 |
| [OH_AudioStream_State](_o_h_audio.md#oh_audiostream_state) {<br/>[AUDIOSTREAM_STATE_INVALID](_o_h_audio.md) = -1, [AUDIOSTREAM_STATE_PREPARED](_o_h_audio.md) = 1, [AUDIOSTREAM_STATE_RUNNING](_o_h_audio.md) = 2, [AUDIOSTREAM_STATE_STOPPED](_o_h_audio.md) = 3,<br/>[AUDIOSTREAM_STATE_RELEASED](_o_h_audio.md) = 4, [AUDIOSTREAM_STATE_PAUSED](_o_h_audio.md) = 5<br/>} | 定义音频流的状态。 |
| [OH_AudioStream_SourceType](_o_h_audio.md#oh_audiostream_sourcetype) { **AUDIOSTREAM_SOURCE_TYPE_INVALID** = -1, **AUDIOSTREAM_SOURCE_TYPE_MIC**, **AUDIOSTREAM_SOURCE_TYPE_VOICE_RECOGNITION** = 1, **AUDIOSTREAM_SOURCE_TYPE_VOICE_COMMUNICATION** = 7 } | 定义音频流使用场景。 |
# native_audiostreambuilder.h
## 概述
声明音频流构造器相关接口。
包含构造和销毁构造器,设置音频流属性,回调等相关接口。
\@syscap SystemCapability.Multimedia.Audio.Core
**起始版本:**
10
**相关模块:**
[OHAudio](_o_h_audio.md)
## 汇总
### 函数
| 名称 | 描述 |
| -------- | -------- |
| [OH_AudioStreamBuilder_Create](_o_h_audio.md#oh_audiostreambuilder_create) ([OH_AudioStreamBuilder](_o_h_audio.md#oh_audiostreambuilder) \*\*builder, [OH_AudioStream_Type](_o_h_audio.md#oh_audiostream_type) type) | 创建一个输入或者输出类型的音频流构造器。 |
| [OH_AudioStreamBuilder_Destroy](_o_h_audio.md#oh_audiostreambuilder_destroy) ([OH_AudioStreamBuilder](_o_h_audio.md#oh_audiostreambuilder) \*builder) | 销毁一个音频流构造器。 |
| [OH_AudioStreamBuilder_SetSamplingRate](_o_h_audio.md#oh_audiostreambuilder_setsamplingrate) ([OH_AudioStreamBuilder](_o_h_audio.md#oh_audiostreambuilder) \*builder, int32_t rate) | 设置音频流的采样率属性。 |
| [OH_AudioStreamBuilder_SetChannelCount](_o_h_audio.md#oh_audiostreambuilder_setchannelcount) ([OH_AudioStreamBuilder](_o_h_audio.md#oh_audiostreambuilder) \*builder, int32_t channelCount) | 设置音频流的通道数属性。 |
| [OH_AudioStreamBuilder_SetSampleFormat](_o_h_audio.md#oh_audiostreambuilder_setsampleformat) ([OH_AudioStreamBuilder](_o_h_audio.md#oh_audiostreambuilder) \*builder, [OH_AudioStream_SampleFormat](_o_h_audio.md#oh_audiostream_sampleformat) format) | 设置音频流的采样格式属性。 |
| [OH_AudioStreamBuilder_SetEncodingType](_o_h_audio.md#oh_audiostreambuilder_setencodingtype) ([OH_AudioStreamBuilder](_o_h_audio.md#oh_audiostreambuilder) \*builder, [OH_AudioStream_EncodingType](_o_h_audio.md#oh_audiostream_encodingtype) encodingType) | 设置音频流的编码类型属性。 |
| [OH_AudioStreamBuilder_SetLatencyMode](_o_h_audio.md#oh_audiostreambuilder_setlatencymode) ([OH_AudioStreamBuilder](_o_h_audio.md#oh_audiostreambuilder) \*builder, [OH_AudioStream_LatencyMode](_o_h_audio.md#oh_audiostream_latencymode) latencyMode) | 设置音频流的时延模式。 |
| [OH_AudioStreamBuilder_SetRendererInfo](_o_h_audio.md#oh_audiostreambuilder_setrendererinfo) ([OH_AudioStreamBuilder](_o_h_audio.md#oh_audiostreambuilder) \*builder, [OH_AudioStream_Usage](_o_h_audio.md#oh_audiostream_usage) usage) | 设置输出音频流的工作场景。 |
| [OH_AudioStreamBuilder_SetCapturerInfo](_o_h_audio.md#oh_audiostreambuilder_setcapturerinfo) ([OH_AudioStreamBuilder](_o_h_audio.md#oh_audiostreambuilder) \*builder, [OH_AudioStream_SourceType](_o_h_audio.md#oh_audiostream_sourcetype) sourceType) | 设置输入音频流的工作场景。 |
| [OH_AudioStreamBuilder_SetRendererCallback](_o_h_audio.md#oh_audiostreambuilder_setrenderercallback) ([OH_AudioStreamBuilder](_o_h_audio.md#oh_audiostreambuilder) \*builder, [OH_AudioRenderer_Callbacks](_o_h_audio.md#oh_audiorenderer_callbacks) callbacks, void \*userData) | 设置输出音频流的回调。 |
| [OH_AudioStreamBuilder_SetCapturerCallback](_o_h_audio.md#oh_audiostreambuilder_setcapturercallback) ([OH_AudioStreamBuilder](_o_h_audio.md#oh_audiostreambuilder) \*builder, [OH_AudioCapturer_Callbacks](_o_h_audio.md#oh_audiocapturer_callbacks) callbacks, void \*userData) | 设置输入音频流的回调。 |
| [OH_AudioStreamBuilder_GenerateRenderer](_o_h_audio.md#oh_audiostreambuilder_generaterenderer) ([OH_AudioStreamBuilder](_o_h_audio.md#oh_audiostreambuilder) \*builder, [OH_AudioRenderer](_o_h_audio.md#oh_audiorenderer) \*\*audioRenderer) | 创建输出音频流实例。 |
| [OH_AudioStreamBuilder_GenerateCapturer](_o_h_audio.md#oh_audiostreambuilder_generatecapturer) ([OH_AudioStreamBuilder](_o_h_audio.md#oh_audiostreambuilder) \*builder, [OH_AudioCapturer](_o_h_audio.md#oh_audiocapturer) \*\*audioCapturer) | 创建输入音频流实例。 |
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册