native_audiostreambuilder.h
概述
声明音频流构造器相关接口。
包含构造和销毁构造器,设置音频流属性,回调等相关接口。
库: libohaudio.so
引用文件: <ohaudio/native_audiostreambuilder.h>
系统能力: SystemCapability.Multimedia.Audio.Core
起始版本: 10
相关模块: OHAudio
汇总
函数
函数说明
OH_AudioStreamBuilder_Create()
OH_AudioStream_Result OH_AudioStreamBuilder_Create(OH_AudioStreamBuilder** builder, OH_AudioStream_Type type)
描述
创建一个输入或者输出类型的音频流构造器。
当构造器不再使用时,需要调用OH_AudioStreamBuilder_Destroy销毁。
起始版本: 10
参数:
| 参数项 | 描述 |
|---|---|
| OH_AudioStreamBuilder** builder | 该引用指向创建的构造器的结果。 |
| OH_AudioStream_Type type | 构造器的流类型。AUDIOSTREAM_TYPE_RENDERER或AUDIOSTREAM_TYPE_CAPTURER。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AudioStream_Result | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 |
OH_AudioStreamBuilder_Destroy()
OH_AudioStream_Result OH_AudioStreamBuilder_Destroy(OH_AudioStreamBuilder* builder)
描述
销毁一个音频流构造器。
当构造器不再使用时,需要调用该函数销毁。
起始版本: 10
参数:
| 参数项 | 描述 |
|---|---|
| OH_AudioStreamBuilder* builder | 指向OH_AudioStreamBuilder_Create创建的构造器实例。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AudioStream_Result | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 AUDIOSTREAM_ERROR_INVALID_PARAM:参数builder为nullptr。 AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。 |
OH_AudioStreamBuilder_SetSamplingRate()
OH_AudioStream_Result OH_AudioStreamBuilder_SetSamplingRate(OH_AudioStreamBuilder* builder, int32_t rate)
描述
设置音频流的采样率属性。
起始版本: 10
参数:
| 参数项 | 描述 |
|---|---|
| OH_AudioStreamBuilder* builder | 指向OH_AudioStreamBuilder_Create创建的构造器实例。 |
| int32_t rate | 音频流采样率。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AudioStream_Result | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 AUDIOSTREAM_ERROR_INVALID_PARAM: 1. 参数builder为nullptr; 2. 参数rate无效。 |
OH_AudioStreamBuilder_SetChannelCount()
OH_AudioStream_Result OH_AudioStreamBuilder_SetChannelCount(OH_AudioStreamBuilder* builder, int32_t channelCount)
描述
设置音频流的通道数属性。
起始版本: 10
参数:
| 参数项 | 描述 |
|---|---|
| OH_AudioStreamBuilder* builder | 指向OH_AudioStreamBuilder_Create创建的构造器实例。 |
| int32_t channelCount | 音频流通道数。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AudioStream_Result | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 AUDIOSTREAM_ERROR_INVALID_PARAM: 1. 参数builder为nullptr; 2. 参数channelCount无效。 |
OH_AudioStreamBuilder_SetSampleFormat()
OH_AudioStream_Result OH_AudioStreamBuilder_SetSampleFormat(OH_AudioStreamBuilder* builder,OH_AudioStream_SampleFormat format)
描述
设置音频流的采样格式属性。
起始版本: 10
参数:
| 参数项 | 描述 |
|---|---|
| OH_AudioStreamBuilder* builder | 指向OH_AudioStreamBuilder_Create创建的构造器实例。 |
| OH_AudioStream_SampleFormat format | 音频流采样格式。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AudioStream_Result | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 AUDIOSTREAM_ERROR_INVALID_PARAM:参数builder为nullptr。 |
OH_AudioStreamBuilder_SetEncodingType()
OH_AudioStream_Result OH_AudioStreamBuilder_SetEncodingType(OH_AudioStreamBuilder* builder,OH_AudioStream_EncodingType encodingType)
描述
设置音频流的编码类型属性。
起始版本: 10
参数:
| 参数项 | 描述 |
|---|---|
| OH_AudioStreamBuilder* builder | 指向OH_AudioStreamBuilder_Create创建的构造器实例。 |
| OH_AudioStream_EncodingType encodingType | 音频流编码类型。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AudioStream_Result | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 AUDIOSTREAM_ERROR_INVALID_PARAM:参数builder为nullptr。 |
OH_AudioStreamBuilder_SetLatencyMode()
OH_AudioStream_Result OH_AudioStreamBuilder_SetLatencyMode(OH_AudioStreamBuilder* builder,OH_AudioStream_LatencyMode latencyMode)
描述
设置音频流的时延模式。
起始版本: 10
参数:
| 参数项 | 描述 |
|---|---|
| OH_AudioStreamBuilder* builder | 指向OH_AudioStreamBuilder_Create创建的构造器实例。 |
| OH_AudioStream_LatencyMode latencyMode | 音频流时延模式。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AudioStream_Result | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 AUDIOSTREAM_ERROR_INVALID_PARAM:参数builder为nullptr。 |
OH_AudioStreamBuilder_SetChannelLayout()
OH_AudioStream_Result OH_AudioStreamBuilder_SetChannelLayout(OH_AudioStreamBuilder* builder,OH_AudioChannelLayout channelLayout)
描述
设置音频流的声道布局。
起始版本: 12
参数:
| 参数项 | 描述 |
|---|---|
| OH_AudioStreamBuilder* builder | 指向OH_AudioStreamBuilder_Create创建的构造器实例。 |
| OH_AudioChannelLayout channelLayout | 音频流声道布局。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AudioStream_Result | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 AUDIOSTREAM_ERROR_INVALID_PARAM:参数builder为nullptr。 |
OH_AudioStreamBuilder_SetRendererInfo()
OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererInfo(OH_AudioStreamBuilder* builder,OH_AudioStream_Usage usage)
描述
设置输出音频流的工作场景。
起始版本: 10
参数:
| 参数项 | 描述 |
|---|---|
| OH_AudioStreamBuilder* builder | 指向OH_AudioStreamBuilder_Create创建的构造器实例。 |
| OH_AudioStream_Usage usage | 输出音频流属性,使用的工作场景。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AudioStream_Result | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 AUDIOSTREAM_ERROR_INVALID_PARAM: 1. 参数builder为nullptr; 2. 参数usage无效。 |
OH_AudioStreamBuilder_SetVolumeMode()
OH_AudioStream_Result OH_AudioStreamBuilder_SetVolumeMode(OH_AudioStreamBuilder* builder,OH_AudioStream_VolumeMode volumeMode)
描述
设置音频流音量模式。
起始版本: 18
参数:
| 参数项 | 描述 |
|---|---|
| OH_AudioStreamBuilder* builder | 指向OH_AudioStreamBuilder_Create创建的构造器实例。 |
| OH_AudioStream_VolumeMode volumeMode | 要设置的音频流音量模式。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AudioStream_Result | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 AUDIOSTREAM_ERROR_INVALID_PARAM: 1. 参数builder为nullptr; 2. 参数volumeMode无效。 |
OH_AudioStreamBuilder_SetCapturerInfo()
OH_AudioStream_Result OH_AudioStreamBuilder_SetCapturerInfo(OH_AudioStreamBuilder* builder,OH_AudioStream_SourceType sourceType)
描述
设置输入音频流的工作场景。
起始版本: 10
参数:
| 参数项 | 描述 |
|---|---|
| OH_AudioStreamBuilder* builder | 指向OH_AudioStreamBuilder_Create创建的构造器实例。 |
| OH_AudioStream_SourceType sourceType | 输入音频流属性,使用的工作场景。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AudioStream_Result | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 AUDIOSTREAM_ERROR_INVALID_PARAM: 1. 参数builder为nullptr; 2. 参数sourceType无效。 |
OH_AudioStreamBuilder_SetRendererCallback()
OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererCallback(OH_AudioStreamBuilder* builder,OH_AudioRenderer_Callbacks callbacks, void* userData)
描述
设置输出音频流的回调。
起始版本: 10
参数:
| 参数项 | 描述 |
|---|---|
| OH_AudioStreamBuilder* builder | 指向OH_AudioStreamBuilder_Create创建的构造器实例。 |
| OH_AudioRenderer_Callbacks callbacks | 将被用来处理输出音频流相关事件的回调函数。 |
| void* userData | 指向通过回调函数传递的应用数据指针。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AudioStream_Result | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 AUDIOSTREAM_ERROR_INVALID_PARAM: 1. 参数builder为nullptr; 2. 参数StreamType无效。 |
OH_AudioStreamBuilder_SetRendererOutputDeviceChangeCallback()
OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererOutputDeviceChangeCallback(OH_AudioStreamBuilder* builder,OH_AudioRenderer_OutputDeviceChangeCallback callback, void* userData)
描述
设置输出音频流设备变更的回调。
起始版本: 11
参数:
| 参数项 | 描述 |
|---|---|
| OH_AudioStreamBuilder* builder | 指向OH_AudioStreamBuilder_Create创建的构造器实例。 |
| OH_AudioRenderer_OutputDeviceChangeCallback callback | 将被用来处理输出流设备变更相关事件的回调函数。 |
| void* userData | 指向通过回调函数传递的应用数据指针。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AudioStream_Result | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 AUDIOSTREAM_ERROR_INVALID_PARAM: 1. 参数builder为nullptr; 2. 参数StreamType无效。 |
OH_AudioStreamBuilder_SetRendererPrivacy()
OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererPrivacy(OH_AudioStreamBuilder* builder,OH_AudioStream_PrivacyType privacy)
描述
设置当前播放音频流是否会被其它应用录制。
起始版本: 12
参数:
| 参数项 | 描述 |
|---|---|
| OH_AudioStreamBuilder* builder | 指向OH_AudioStreamBuilder_Create创建的构造器实例。 |
| OH_AudioStream_PrivacyType privacy | 标识对应播放音频流是否会被其它应用录制。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AudioStream_Result | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 AUDIOSTREAM_ERROR_INVALID_PARAM: 1. 参数builder为nullptr; 2. 参数StreamType无效。 |
OH_AudioStreamBuilder_SetCapturerCallback()
OH_AudioStream_Result OH_AudioStreamBuilder_SetCapturerCallback(OH_AudioStreamBuilder* builder,OH_AudioCapturer_Callbacks callbacks, void* userData)
描述
设置输入音频流的回调。
起始版本: 10
参数:
| 参数项 | 描述 |
|---|---|
| OH_AudioStreamBuilder* builder | 指向OH_AudioStreamBuilder_Create创建的构造器实例。 |
| OH_AudioCapturer_Callbacks callbacks | 将被用来处理输入音频流相关事件的回调函数。 |
| void* userData | 指向通过回调函数传递的应用数据指针。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AudioStream_Result | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 AUDIOSTREAM_ERROR_INVALID_PARAM: 1. 参数builder为nullptr; 2. 参数StreamType无效。 |
OH_AudioStreamBuilder_SetWriteDataWithMetadataCallback()
OH_AudioStream_Result OH_AudioStreamBuilder_SetWriteDataWithMetadataCallback(OH_AudioStreamBuilder* builder,OH_AudioRenderer_WriteDataWithMetadataCallback callback, void* userData)
描述
设置同时写入音频数据和元数据的回调。
起始版本: 12
参数:
| 参数项 | 描述 |
|---|---|
| OH_AudioStreamBuilder* builder | 指向OH_AudioStreamBuilder_Create创建的构造器实例。 |
| OH_AudioRenderer_WriteDataWithMetadataCallback callback | 将被用来同时写入音频数据和元数据的回调函数。 |
| void* userData | 指向通过回调函数传递的应用数据指针。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AudioStream_Result | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 AUDIOSTREAM_ERROR_INVALID_PARAM: 1. 参数builder为nullptr; 2. 参数StreamType无效。 |
OH_AudioStreamBuilder_GenerateRenderer()
OH_AudioStream_Result OH_AudioStreamBuilder_GenerateRenderer(OH_AudioStreamBuilder* builder,OH_AudioRenderer** audioRenderer)
描述
创建输出音频流实例。
起始版本: 10
参数:
| 参数项 | 描述 |
|---|---|
| OH_AudioStreamBuilder* builder | 指向OH_AudioStreamBuilder_Create创建的构造器实例。 |
| OH_AudioRenderer** audioRenderer | 指向输出音频流实例的指针,将被用来接收函数创建的结果。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AudioStream_Result | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 AUDIOSTREAM_ERROR_INVALID_PARAM: 1. 参数builder为nullptr; 2. 参数StreamType无效; 3. 创建OHAudioRenderer失败。 |
OH_AudioStreamBuilder_GenerateCapturer()
OH_AudioStream_Result OH_AudioStreamBuilder_GenerateCapturer(OH_AudioStreamBuilder* builder,OH_AudioCapturer** audioCapturer)
描述
创建输入音频流实例。
起始版本: 10
参数:
| 参数项 | 描述 |
|---|---|
| OH_AudioStreamBuilder* builder | 指向OH_AudioStreamBuilder_Create创建的构造器实例。 |
| OH_AudioCapturer** audioCapturer | 指向输入音频流实例的指针,将被用来接收函数创建的结果。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AudioStream_Result | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 AUDIOSTREAM_ERROR_INVALID_PARAM: 1. 参数builder为nullptr; 2. 参数StreamType无效; 3. 创建OHAudioRenderer失败。 |
OH_AudioStreamBuilder_SetFrameSizeInCallback()
OH_AudioStream_Result OH_AudioStreamBuilder_SetFrameSizeInCallback(OH_AudioStreamBuilder* builder,int32_t frameSize)
描述
用于播放时设置每次回调的帧长,帧长至少为音频硬件一次处理的数据大小,并且小于内部缓冲容量的一半。
低时延播放:frameSize可设置为5ms、10ms、15ms、20ms音频数据对应的帧长。
普通通路播放:frameSize可设置为20ms-100ms音频数据对应的帧长。
起始版本: 11
参数:
| 参数项 | 描述 |
|---|---|
| OH_AudioStreamBuilder* builder | 指向OH_AudioStreamBuilder_Create创建的构造器实例。 |
| int32_t frameSize | 要设置音频数据的帧长。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AudioStream_Result | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 AUDIOSTREAM_ERROR_INVALID_PARAM: 参数builder为nullptr。 |
OH_AudioStreamBuilder_SetRendererInterruptMode()
OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererInterruptMode(OH_AudioStreamBuilder* builder,OH_AudioInterrupt_Mode mode)
描述
设置流客户端的中断模式。
起始版本: 12
参数:
| 参数项 | 描述 |
|---|---|
| OH_AudioStreamBuilder* builder | 指向OH_AudioStreamBuilder_Create创建的构造器实例。 |
| OH_AudioInterrupt_Mode mode | 音频中断模式。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AudioStream_Result | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 AUDIOSTREAM_ERROR_INVALID_PARAM: 1. 参数builder为nullptr; 2. 参数mode无效; 3. StreamType无效。 |
OH_AudioStreamBuilder_SetRendererWriteDataCallback()
OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererWriteDataCallback(OH_AudioStreamBuilder* builder,OH_AudioRenderer_OnWriteDataCallback callback, void* userData)
描述
设置写入音频数据的回调。
此函数与OH_AudioStreamBuilder_SetRendererCallback类似。
如果同时使用OH_AudioStreamBuilder_SetRendererCallback或者本函数,只有最后一次设置的回调才生效,其它回调不会生效。
起始版本: 12
参数:
| 参数项 | 描述 |
|---|---|
| OH_AudioStreamBuilder* builder | 指向OH_AudioStreamBuilder_Create创建的构造器实例。 |
| OH_AudioRenderer_OnWriteDataCallback callback | 将被用来写入音频数据的回调函数。 |
| void* userData | 指向通过回调函数传递的应用数据指针。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AudioStream_Result | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 AUDIOSTREAM_ERROR_INVALID_PARAM: 1. 参数builder为nullptr; 2. StreamType无效。 |