1# OHAudio 2 3 4## 概述 5 6提供音频模块C接口定义。 7 8开发者可根据实际的开发需求,参考对应的开发指南及样例: 9 10- [使用OHAudio开发音频播放功能](../../media/audio/using-ohaudio-for-playback.md) 11- [使用OHAudio开发音频录制功能](../../media/audio/using-ohaudio-for-recording.md) 12- [使用AudioSession管理应用音频焦点](../../media/audio/using-ohaudio-for-session.md) 13 14**系统能力:** SystemCapability.Multimedia.Audio.Core 15 16**起始版本:** 10 17 18 19## 汇总 20 21 22### 文件 23 24| 名称 | 描述 | 25| -------- | -------- | 26| [native_audio_common.h](native__audio__common_8h.md) | 声明音频公共基础数据结构。 | 27| [native_audio_device_base.h](native__audio__device__base_8h.md) | 定义音频设备参数的类型以及获取每个设备参数的接口。 | 28| [native_audio_manager.h](native__audio__manager_8h.md) | 声明音频管理相关的接口。 | 29| [native_audio_routing_manager.h](native__audio__routing__manager_8h.md) | 声明与音频路由管理器相关的接口。 | 30| [native_audio_session_manager.h](native__audio__session__manager_8h.md) | 声明音频会话管理相关的接口。 | 31| [native_audiocapturer.h](native__audiocapturer_8h.md) | 声明输入类型的音频流相关接口。 | 32| [native_audiorenderer.h](native__audiorenderer_8h.md) | 声明输出类型的音频流相关接口。 | 33| [native_audiostream_base.h](native__audiostream__base_8h.md) | 声明OHAudio基础的数据结构。 | 34| [native_audiostreambuilder.h](native__audiostreambuilder_8h.md) | 声明音频流构造器相关接口。 | 35 36 37### 结构体 38 39| 名称 | 描述 | 40| -------- | -------- | 41| struct [OH_AudioDeviceDescriptorArray](_o_h___audio_device_descriptor_array.md) | 声明音频设备描述符数组。 | 42| struct [OH_AudioSession_Strategy](_o_h___audio_session___strategy.md) | 音频会话策略。 | 43| struct [OH_AudioSession_DeactivatedEvent](_o_h___audio_session___deactivated_event.md) | 音频会话已停用事件。 | 44| struct [OH_AudioRenderer_Callbacks_Struct](_o_h___audio_renderer___callbacks___struct.md) | 声明输出音频流的回调函数指针。 | 45| struct [OH_AudioCapturer_Callbacks_Struct](_o_h___audio_capturer___callbacks___struct.md) | 声明输入音频流的回调函数指针。 | 46 47 48### 类型定义 49 50| 名称 | 描述 | 51| -------- | -------- | 52| typedef struct [OH_AudioDeviceDescriptor](#oh_audiodevicedescriptor) [OH_AudioDeviceDescriptor](#oh_audiodevicedescriptor) | 声明音频设备描述符。 该实例用于获取更多音频设备详细信息属性。 | 53| typedef struct [OH_AudioDeviceDescriptorArray](_o_h___audio_device_descriptor_array.md) [OH_AudioDeviceDescriptorArray](#oh_audiodevicedescriptorarray) | 声明音频设备描述符数组。 | 54| typedef struct [OH_AudioManager](#oh_audiomanager) [OH_AudioManager](#oh_audiomanager) | 声明音频管理器。 | 55| typedef struct [OH_AudioRoutingManager](#oh_audioroutingmanager) [OH_AudioRoutingManager](#oh_audioroutingmanager) | 声明音频路由管理器,用于路由和设备相关功能的音频路由管理器的句柄。 | 56| typedef int32_t (\*[OH_AudioRoutingManager_OnDeviceChangedCallback](#oh_audioroutingmanager_ondevicechangedcallback))([OH_AudioDevice_ChangeType](#oh_audiodevice_changetype) type, [OH_AudioDeviceDescriptorArray](_o_h___audio_device_descriptor_array.md) \*audioDeviceDescriptorArray) | 此函数指针将指向用于返回更改的音频设备描述符的回调函数,可能返回多个音频设备描述符。 | 57| typedef void (\*[OH_AudioRoutingManager_OnDeviceBlockStatusCallback](#oh_audioroutingmanager_ondeviceblockstatuscallback)) ([OH_AudioDeviceDescriptorArray](_o_h___audio_device_descriptor_array.md) \*audioDeviceDescriptorArray, [OH_AudioDevice_BlockStatus](#oh_audiodevice_blockstatus) status, void \*userData) | 此函数指针将指向用于返回音频设备堵塞状态的回调函数,可能返回多个音频设备描述符。 | 58| typedef struct [OH_AudioSessionManager](#oh_audiosessionmanager) [OH_AudioSessionManager](#oh_audiosessionmanager) | 声明音频会话管理器。 | 59| typedef struct [OH_AudioSession_Strategy](_o_h___audio_session___strategy.md) [OH_AudioSession_Strategy](#oh_audiosession_strategy) | 音频会话策略。 | 60| typedef struct [OH_AudioSession_DeactivatedEvent](_o_h___audio_session___deactivated_event.md) [OH_AudioSession_DeactivatedEvent](#oh_audiosession_deactivatedevent) | 音频会话已停用事件。 | 61| typedef int32_t (\*[OH_AudioSession_DeactivatedCallback](#oh_audiosession_deactivatedcallback))([OH_AudioSession_DeactivatedEvent](_o_h___audio_session___deactivated_event.md) event) | 这个函数指针将指向用于监听音频会话停用事件的回调函数。 | 62| typedef struct OH_AudioStreamBuilderStruct [OH_AudioStreamBuilder](#oh_audiostreambuilder) | 声明音频流的构造器。 | 63| typedef struct OH_AudioRendererStruct [OH_AudioRenderer](#oh_audiorenderer) | 声明输出音频流。 | 64| typedef struct OH_AudioCapturerStruct [OH_AudioCapturer](#oh_audiocapturer) | 声明输入音频流。 | 65| typedef struct [OH_AudioRenderer_Callbacks_Struct](_o_h___audio_renderer___callbacks___struct.md) [OH_AudioRenderer_Callbacks](#oh_audiorenderer_callbacks) | 声明输出音频流的回调函数指针。 | 66| typedef struct [OH_AudioCapturer_Callbacks_Struct](_o_h___audio_capturer___callbacks___struct.md) [OH_AudioCapturer_Callbacks](#oh_audiocapturer_callbacks) | 声明输入音频流的回调函数指针。 | 67| typedef void (\*[OH_AudioRenderer_OutputDeviceChangeCallback](#oh_audiorenderer_outputdevicechangecallback))([OH_AudioRenderer](#oh_audiorenderer) \*renderer, void \*userData, [OH_AudioStream_DeviceChangeReason](#oh_audiostream_devicechangereason) reason) | 输出音频流设备变更的回调函数。 | 68| typedef void (\*[OH_AudioRenderer_OnMarkReachedCallback](#oh_audiorenderer_onmarkreachedcallback))([OH_AudioRenderer](#oh_audiorenderer) \*renderer, uint32_t samplePos, void \*userData) | 到达标记位置时回调。 | 69| typedef int32_t (\*[OH_AudioRenderer_WriteDataWithMetadataCallback](#oh_audiorenderer_writedatawithmetadatacallback))([OH_AudioRenderer](#oh_audiorenderer) \*renderer, void \*userData, void \*audioData, int32_t audioDataSize, void \*metadata, int32_t metadataSize) | 该函数指针将指向用于同时写入音频数据和元数据的回调函数。 | 70| typedef [OH_AudioData_Callback_Result](#oh_audiodata_callback_result) (\*[OH_AudioRenderer_OnWriteDataCallback](#oh_audiorenderer_onwritedatacallback))([OH_AudioRenderer](#oh_audiorenderer) \*renderer, void \*userData, void \*audioData, int32_t audioDataSize) | 该函数指针将指向用于写入音频数据的回调函数。 | 71 72 73### 枚举 74 75| 名称 | 描述 | 76| -------- | -------- | 77| [OH_AudioCommon_Result](#oh_audiocommon_result) {<br/>AUDIOCOMMON_RESULT_SUCCESS = 0,<br/>AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM = 6800101,<br/>AUDIOCOMMON_RESULT_ERROR_NO_MEMORY = 6800102,<br/>AUDIOCOMMON_RESULT_ERROR_ILLEGAL_STATE = 6800103,<br/>AUDIOCOMMON_RESULT_ERROR_UNSUPPORTED = 6800104,<br/>AUDIOCOMMON_RESULT_ERROR_TIMEOUT = 6800105,<br/>AUDIOCOMMON_RESULT_ERROR_STREAM_LIMIT = 6800201,<br/>AUDIOCOMMON_RESULT_ERROR_SYSTEM = 6800301<br/>} | 音频错误码。 | 78| [OH_AudioScene](#oh_audioscene) { <br/>AUDIO_SCENE_DEFAULT = 0, <br/>AUDIO_SCENE_RINGING = 1, <br/>AUDIO_SCENE_PHONE_CALL = 2, <br/>AUDIO_SCENE_VOICE_CHAT = 3 } | 定义音频场景。 | 79| [OH_AudioDevice_ChangeType](#oh_audiodevice_changetype) {<br/>AUDIO_DEVICE_CHANGE_TYPE_CONNECT = 0,<br/>AUDIO_DEVICE_CHANGE_TYPE_DISCONNECT = 1<br/>} | 定义音频设备更改类型。 | 80| [OH_AudioDevice_Role](#oh_audiodevice_role) {<br/>AUDIO_DEVICE_ROLE_INPUT = 1,<br/>AUDIO_DEVICE_ROLE_OUTPUT = 2<br/>} | 定义音频设备角色。 | 81| [OH_AudioDevice_Type](#oh_audiodevice_type) {<br/>AUDIO_DEVICE_TYPE_INVALID = 0,<br/>AUDIO_DEVICE_TYPE_EARPIECE = 1,<br/>AUDIO_DEVICE_TYPE_SPEAKER = 2,<br/>AUDIO_DEVICE_TYPE_WIRED_HEADSET = 3,<br/>AUDIO_DEVICE_TYPE_WIRED_HEADPHONES = 4,<br/>AUDIO_DEVICE_TYPE_BLUETOOTH_SCO = 7,<br/>AUDIO_DEVICE_TYPE_BLUETOOTH_A2DP = 8,<br/>AUDIO_DEVICE_TYPE_MIC = 15,<br/>AUDIO_DEVICE_TYPE_USB_HEADSET = 22,<br/>AUDIO_DEVICE_TYPE_DISPLAY_PORT = 23,<br/>AUDIO_DEVICE_TYPE_REMOTE_CAST = 24,<br/>AUDIO_DEVICE_TYPE_DEFAULT = 1000<br/>} | 定义音频设备类型。 | 82| [OH_AudioDevice_Flag](#oh_audiodevice_flag) {<br/>AUDIO_DEVICE_FLAG_NONE = 0,<br/>AUDIO_DEVICE_FLAG_OUTPUT = 1,<br/>AUDIO_DEVICE_FLAG_INPUT = 2,<br/>AUDIO_DEVICE_FLAG_ALL = 3<br/>} | 定义音频设备标志。 | 83| [OH_AudioDevice_Usage](#oh_audiodevice_usage) {<br/>AUDIO_DEVICE_USAGE_MEDIA_OUTPUT = 1, <br/>AUDIO_DEVICE_USAGE_MEDIA_INPUT = 2, <br/>AUDIO_DEVICE_USAGE_MEDIA_ALL = 3, <br/>AUDIO_DEVICE_USAGE_CALL_OUTPUT = 4,<br/>AUDIO_DEVICE_USAGE_CALL_INPUT = 8, <br/>AUDIO_DEVICE_USAGE_CALL_ALL = 12<br/>} | 定义可获取的设备种类。 | 84| [OH_AudioDevice_BlockStatus](#oh_audiodevice_blockstatus) { <br/>AUDIO_DEVICE_UNBLOCKED = 0, <br/>AUDIO_DEVICE_BLOCKED = 1 } | 声明音频设备的堵塞状态。默认情况下,音频设备被视为未堵塞。 | 85| [OH_AudioSession_ConcurrencyMode](#oh_audiosession_concurrencymode) { <br/>CONCURRENCY_DEFAULT = 0, <br/>CONCURRENCY_MIX_WITH_OTHERS = 1, <br/>CONCURRENCY_DUCK_OTHERS = 2, <br/>CONCURRENCY_PAUSE_OTHERS = 3 } | 音频并发模式。 | 86| [OH_AudioSession_DeactivatedReason](#oh_audiosession_deactivatedreason) { <br/>DEACTIVATED_LOWER_PRIORITY = 0, <br/>DEACTIVATED_TIMEOUT = 1 } | 音频会话停用原因。 | 87| [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/>} | 音频错误码。 | 88| [OH_AudioStream_Type](#oh_audiostream_type) {<br/>AUDIOSTREAM_TYPE_RENDERER = 1,<br/>AUDIOSTREAM_TYPE_CAPTURER = 2<br/>} | 音频流类型。 | 89| [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/>} | 定义音频流采样格式。 | 90| [OH_AudioStream_EncodingType](#oh_audiostream_encodingtype) { <br/>AUDIOSTREAM_ENCODING_TYPE_RAW = 0, <br/>AUDIOSTREAM_ENCODING_TYPE_AUDIOVIVID = 1 <br/>} | 定义音频流编码类型。 | 91| [OH_AudioStream_Usage](#oh_audiostream_usage) {<br/>AUDIOSTREAM_USAGE_UNKNOWN = 0,<br/>AUDIOSTREAM_USAGE_MUSIC = 1,<br/>AUDIOSTREAM_USAGE_VOICE_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/>AUDIOSTREAM_USAGE_VIDEO_COMMUNICATION = 17<br/>} | 定义音频流使用场景。 | 92| [OH_AudioStream_LatencyMode](#oh_audiostream_latencymode) {<br/>AUDIOSTREAM_LATENCY_MODE_NORMAL = 0,<br/>AUDIOSTREAM_LATENCY_MODE_FAST = 1<br/>} | 定义音频时延模式。 | 93| [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/>} | 定义音频流的状态。 | 94| [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/>AUDIOSTREAM_SOURCE_TYPE_CAMCORDER = 13<br/>} | 定义音频流使用场景。 | 95| [OH_AudioStream_Event](#oh_audiostream_event) {<br/>AUDIOSTREAM_EVENT_ROUTING_CHANGED = 0<br/>} | 定义音频事件。 | 96| [OH_AudioInterrupt_ForceType](#oh_audiointerrupt_forcetype) {<br/>AUDIOSTREAM_INTERRUPT_FORCE = 0,<br/>AUDIOSTREAM_INTERRUPT_SHARE = 1<br/>} | 定义音频中断类型。 | 97| [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/>} | 定义音频中断提示类型。 | 98| [OH_AudioInterrupt_Mode](#oh_audiointerrupt_mode) {<br/> AUDIOSTREAM_INTERRUPT_MODE_SHARE = 0, <br/>AUDIOSTREAM_INTERRUPT_MODE_INDEPENDENT = 1 <br/>} | 定义音频中断模式。 | 99| [OH_AudioStream_AudioEffectMode](#oh_audiostream_audioeffectmode) { <br/>EFFECT_NONE = 0, <br/>EFFECT_DEFAULT = 1 <br/>} | 定义音效模式。 | 100| [OH_AudioStream_DeviceChangeReason](#oh_audiostream_devicechangereason) {<br/>REASON_UNKNOWN = 0,<br/>REASON_NEW_DEVICE_AVAILABLE = 1,<br/>REASON_OLD_DEVICE_UNAVAILABLE = 2,<br/>REASON_OVERRODE = 3<br/>} | 流设备变更原因。 | 101| [OH_AudioStream_PrivacyType](#oh_audiostream_privacytype) { <br/>AUDIO_STREAM_PRIVACY_TYPE_PUBLIC = 0, <br/>AUDIO_STREAM_PRIVACY_TYPE_PRIVATE = 1 <br/>} | 用于标识对应播放音频流是否支持被其他应用录制。 | 102| [OH_AudioData_Callback_Result](#oh_audiodata_callback_result) { <br/>AUDIO_DATA_CALLBACK_RESULT_INVALID = -1, <br/>AUDIO_DATA_CALLBACK_RESULT_VALID = 0 <br/>} | 定义音频数据回调结果。 | 103 104 105### 函数 106 107| 名称 | 描述 | 108| -------- | -------- | 109| [OH_AudioCommon_Result](#oh_audiocommon_result) [OH_AudioDeviceDescriptor_GetDeviceRole](#oh_audiodevicedescriptor_getdevicerole)([OH_AudioDeviceDescriptor](#oh_audiodevicedescriptor) \*audioDeviceDescriptor, [OH_AudioDevice_Role](#oh_audiodevice_role) \*deviceRole) | 查询目标音频设备描述符的设备角色。 | 110| [OH_AudioCommon_Result](#oh_audiocommon_result) [OH_AudioDeviceDescriptor_GetDeviceType](#oh_audiodevicedescriptor_getdevicetype)([OH_AudioDeviceDescriptor](#oh_audiodevicedescriptor) \*audioDeviceDescriptor, [OH_AudioDevice_Type](#oh_audiodevice_type) \*deviceType) | 查询目标音频设备描述符的设备类型。 | 111| [OH_AudioCommon_Result](#oh_audiocommon_result) [OH_AudioDeviceDescriptor_GetDeviceId](#oh_audiodevicedescriptor_getdeviceid)([OH_AudioDeviceDescriptor](#oh_audiodevicedescriptor) \*audioDeviceDescriptor, uint32_t \*id) | 查询目标音频设备描述符的设备id。 | 112| [OH_AudioCommon_Result](#oh_audiocommon_result) [OH_AudioDeviceDescriptor_GetDeviceName](#oh_audiodevicedescriptor_getdevicename)([OH_AudioDeviceDescriptor](#oh_audiodevicedescriptor) \*audioDeviceDescriptor, char \*\*name) | 查询目标音频设备描述符的设备名称。 | 113| [OH_AudioCommon_Result](#oh_audiocommon_result) [OH_AudioDeviceDescriptor_GetDeviceAddress](#oh_audiodevicedescriptor_getdeviceaddress)([OH_AudioDeviceDescriptor](#oh_audiodevicedescriptor) \*audioDeviceDescriptor, char \*\*address) | 查询目标音频设备描述符的设备地址。 | 114| [OH_AudioCommon_Result](#oh_audiocommon_result) [OH_AudioDeviceDescriptor_GetDeviceSampleRates](#oh_audiodevicedescriptor_getdevicesamplerates)([OH_AudioDeviceDescriptor](#oh_audiodevicedescriptor) \*audioDeviceDescriptor, uint32_t \*\*sampleRates, uint32_t \*size) | 查询目标音频设备描述符的采样率数组。 | 115| [OH_AudioCommon_Result](#oh_audiocommon_result) [OH_AudioDeviceDescriptor_GetDeviceChannelCounts](#oh_audiodevicedescriptor_getdevicechannelcounts)([OH_AudioDeviceDescriptor](#oh_audiodevicedescriptor) \*audioDeviceDescriptor, uint32_t \*\*channelCounts, uint32_t \*size) | 查询目标音频设备描述符的设备通道计数数组。 | 116| [OH_AudioCommon_Result](#oh_audiocommon_result) [OH_AudioDeviceDescriptor_GetDeviceDisplayName](#oh_audiodevicedescriptor_getdevicedisplayname)([OH_AudioDeviceDescriptor](#oh_audiodevicedescriptor) \*audioDeviceDescriptor, char \*\*displayName) | 查询目标音频设备描述符的显示名称。 | 117| [OH_AudioCommon_Result](#oh_audiocommon_result) [OH_AudioDeviceDescriptor_GetDeviceEncodingTypes](#oh_audiodevicedescriptor_getdeviceencodingtypes)([OH_AudioDeviceDescriptor](#oh_audiodevicedescriptor) \*audioDeviceDescriptor, [OH_AudioStream_EncodingType](#oh_audiostream_encodingtype) \*\*encodingTypes, uint32_t \*size) | 查询目标音频设备描述符的编码类型数组。 | 118| [OH_AudioCommon_Result](#oh_audiocommon_result) [OH_GetAudioManager](#oh_getaudiomanager)([OH_AudioManager](#oh_audiomanager) \*\*audioManager) | 获取音频管理器。 | 119| [OH_AudioCommon_Result](#oh_audiocommon_result) [OH_GetAudioScene](#oh_getaudioscene)([OH_AudioManager](#oh_audiomanager) \*manager, [OH_AudioScene](#oh_audioscene) \*scene) | 获取音频场景模式。 | 120| [OH_AudioCommon_Result](#oh_audiocommon_result) [OH_AudioManager_GetAudioRoutingManager](#oh_audiomanager_getaudioroutingmanager)([OH_AudioRoutingManager](#oh_audioroutingmanager) \*\*audioRoutingManager) | 查询音频路由管理器句柄,该句柄应设置为路由相关函数中的第一个参数。 | 121| [OH_AudioCommon_Result](#oh_audiocommon_result) [OH_AudioRoutingManager_GetDevices](#oh_audioroutingmanager_getdevices)([OH_AudioRoutingManager](#oh_audioroutingmanager) \*audioRoutingManager, [OH_AudioDevice_Flag](#oh_audiodevice_flag) deviceFlag, [OH_AudioDeviceDescriptorArray](_o_h___audio_device_descriptor_array.md) \*\*audioDeviceDescriptorArray) | 根据输入的deviceFlag查询可用的设备。 | 122| [OH_AudioCommon_Result](#oh_audiocommon_result) [OH_AudioRoutingManager_GetAvailableDevices](#oh_audioroutingmanager_getavailabledevices)([OH_AudioRoutingManager](#oh_audioroutingmanager) \*audioRoutingManager, [OH_AudioDevice_Usage](#oh_audiodevice_usage) deviceUsage, [OH_AudioDeviceDescriptorArray](_o_h___audio_device_descriptor_array.md) \*\*audioDeviceDescriptorArray) | 获取音频可选设备列表。 | 123| [OH_AudioCommon_Result](#oh_audiocommon_result) [OH_AudioRoutingManager_GetPreferredOutputDevice](#oh_audioroutingmanager_getpreferredoutputdevice)([OH_AudioRoutingManager](#oh_audioroutingmanager) \*audioRoutingManager, [OH_AudioStream_Usage](#oh_audiostream_usage) streamUsage, [OH_AudioDeviceDescriptorArray](_o_h___audio_device_descriptor_array.md) \*\*audioDeviceDescriptorArray) | 根据音频输出流的使用场景,获取优先级最高的输出设备。 | 124| [OH_AudioCommon_Result](#oh_audiocommon_result) [OH_AudioRoutingManager_GetPreferredInputDevice](#oh_audioroutingmanager_getpreferredinputdevice)([OH_AudioRoutingManager](#oh_audioroutingmanager) \*audioRoutingManager, [OH_AudioStream_SourceType](#oh_audiostream_sourcetype) sourceType, [OH_AudioDeviceDescriptorArray](_o_h___audio_device_descriptor_array.md) \*\*audioDeviceDescriptorArray) | 根据音频输入流的使用场景,获取优先级最高的输入设备。 | 125| [OH_AudioCommon_Result](#oh_audiocommon_result) [OH_AudioRoutingManager_RegisterDeviceChangeCallback](#oh_audioroutingmanager_registerdevicechangecallback)([OH_AudioRoutingManager](#oh_audioroutingmanager) \*audioRoutingManager, [OH_AudioDevice_Flag](#oh_audiodevice_flag) deviceFlag, [OH_AudioRoutingManager_OnDeviceChangedCallback](#oh_audioroutingmanager_ondevicechangedcallback) callback) | 注册音频路由管理器的设备更改回调。 | 126| [OH_AudioCommon_Result](#oh_audiocommon_result) [OH_AudioRoutingManager_UnregisterDeviceChangeCallback](#oh_audioroutingmanager_unregisterdevicechangecallback)([OH_AudioRoutingManager](#oh_audioroutingmanager) \*audioRoutingManager, [OH_AudioRoutingManager_OnDeviceChangedCallback](#oh_audioroutingmanager_ondevicechangedcallback) callback) | 取消注册音频路由管理器的设备更改回调。 | 127| [OH_AudioCommon_Result](#oh_audiocommon_result) [OH_AudioRoutingManager_ReleaseDevices](#oh_audioroutingmanager_releasedevices)([OH_AudioRoutingManager](#oh_audioroutingmanager) \*audioRoutingManager, [OH_AudioDeviceDescriptorArray](_o_h___audio_device_descriptor_array.md) \*audioDeviceDescriptorArray) | 释放音频设备描述符数组对象。 | 128| [OH_AudioCommon_Result](#oh_audiocommon_result) [OH_AudioRoutingManager_IsMicBlockDetectionSupported](#oh_audioroutingmanager_ismicblockdetectionsupported)([OH_AudioRoutingManager](#oh_audioroutingmanager) \*audioRoutingManager, bool \*supported) | 查询当前设备是否支持麦克风堵塞状态检测。 | 129| [OH_AudioCommon_Result](#oh_audiocommon_result) [OH_AudioRoutingManager_SetMicBlockStatusCallback](#oh_audioroutingmanager_setmicblockstatuscallback)([OH_AudioRoutingManager](#oh_audioroutingmanager) \*audioRoutingManager, [OH_AudioRoutingManager_OnDeviceBlockStatusCallback](#oh_audioroutingmanager_ondeviceblockstatuscallback) callback, void \*userData) | 设置麦克风是否堵塞状态回调。在使用此功能之前,用户应查询当前设备是否支持检测,应用只有在使用麦克风录音时, 并且所使用的麦克风的堵塞状态发生改变,才会收到回调,目前此检测功能仅支持麦克风位于本地设备上。 | 130| [OH_AudioCommon_Result](#oh_audiocommon_result) [OH_AudioManager_GetAudioSessionManager](#oh_audiomanager_getaudiosessionmanager)([OH_AudioSessionManager](#oh_audiosessionmanager) \*\*audioSessionManager) | 获取音频会话管理器。 | 131| [OH_AudioCommon_Result](#oh_audiocommon_result) [OH_AudioSessionManager_ActivateAudioSession](#oh_audiosessionmanager_activateaudiosession)([OH_AudioSessionManager](#oh_audiosessionmanager) \*audioSessionManager, const [OH_AudioSession_Strategy](_o_h___audio_session___strategy.md) \*strategy) | 激活音频会话。 | 132| [OH_AudioCommon_Result](#oh_audiocommon_result) [OH_AudioSessionManager_DeactivateAudioSession](#oh_audiosessionmanager_deactivateaudiosession)([OH_AudioSessionManager](#oh_audiosessionmanager) \*audioSessionManager) | 停用音频会话。 | 133| bool [OH_AudioSessionManager_IsAudioSessionActivated](#oh_audiosessionmanager_isaudiosessionactivated)([OH_AudioSessionManager](#oh_audiosessionmanager) \*audioSessionManager) | 检查音频会话是否已激活。 | 134| [OH_AudioCommon_Result](#oh_audiocommon_result) [OH_AudioSessionManager_RegisterSessionDeactivatedCallback](#oh_audiosessionmanager_registersessiondeactivatedcallback)([OH_AudioSessionManager](#oh_audiosessionmanager) \*audioSessionManager, [OH_AudioSession_DeactivatedCallback](#oh_audiosession_deactivatedcallback) callback) | 注册音频会话停用事件回调。 | 135| [OH_AudioCommon_Result](#oh_audiocommon_result) [OH_AudioSessionManager_UnregisterSessionDeactivatedCallback](#oh_audiosessionmanager_unregistersessiondeactivatedcallback)([OH_AudioSessionManager](#oh_audiosessionmanager) \*audioSessionManager, [OH_AudioSession_DeactivatedCallback](#oh_audiosession_deactivatedcallback) callback) | 取消注册音频会话停用事件回调。 | 136| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_Release](#oh_audiocapturer_release)([OH_AudioCapturer](#oh_audiocapturer) \*capturer) | 释放输入音频流。 | 137| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_Start](#oh_audiocapturer_start)([OH_AudioCapturer](#oh_audiocapturer) \*capturer) | 开始获取音频数据。 | 138| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_Pause](#oh_audiocapturer_pause)([OH_AudioCapturer](#oh_audiocapturer) \*capturer) | 暂停输入音频流。 | 139| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_Stop](#oh_audiocapturer_stop)([OH_AudioCapturer](#oh_audiocapturer) \*capturer) | 停止输入音频流。 | 140| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_Flush](#oh_audiocapturer_flush)([OH_AudioCapturer](#oh_audiocapturer) \*capturer) | 丢弃获取的音频数据。 | 141| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_GetCurrentState](#oh_audiocapturer_getcurrentstate)([OH_AudioCapturer](#oh_audiocapturer) \*capturer, [OH_AudioStream_State](#oh_audiostream_state) \*state) | 查询当前输入音频流状态。 | 142| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_GetLatencyMode](#oh_audiocapturer_getlatencymode)([OH_AudioCapturer](#oh_audiocapturer) \*capturer, [OH_AudioStream_LatencyMode](#oh_audiostream_latencymode) \*latencyMode) | 查询当前输入音频流时延模式。 | 143| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_GetStreamId](#oh_audiocapturer_getstreamid)([OH_AudioCapturer](#oh_audiocapturer) \*capturer, uint32_t \*streamId) | 查询当前输入音频流ID。 | 144| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_GetSamplingRate](#oh_audiocapturer_getsamplingrate)([OH_AudioCapturer](#oh_audiocapturer) \*capturer, int32_t \*rate) | 查询当前输入音频流采样率。 | 145| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_GetChannelCount](#oh_audiocapturer_getchannelcount)([OH_AudioCapturer](#oh_audiocapturer) \*capturer, int32_t \*channelCount) | 查询当前输入音频流通道数。 | 146| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_GetSampleFormat](#oh_audiocapturer_getsampleformat)([OH_AudioCapturer](#oh_audiocapturer) \*capturer, [OH_AudioStream_SampleFormat](#oh_audiostream_sampleformat) \*sampleFormat) | 查询当前输入音频流采样格式。 | 147| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_GetEncodingType](#oh_audiocapturer_getencodingtype)([OH_AudioCapturer](#oh_audiocapturer) \*capturer, [OH_AudioStream_EncodingType](#oh_audiostream_encodingtype) \*encodingType) | 查询当前输入音频流编码类型。 | 148| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_GetCapturerInfo](#oh_audiocapturer_getcapturerinfo)([OH_AudioCapturer](#oh_audiocapturer) \*capturer, [OH_AudioStream_SourceType](#oh_audiostream_sourcetype) \*sourceType) | 查询当前输入音频流工作场景类型。 | 149| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_GetFrameSizeInCallback](#oh_audiocapturer_getframesizeincallback)([OH_AudioCapturer](#oh_audiocapturer) \*capturer, int32_t \*frameSize) | 在回调中查询帧大小,它是每次回调返回的缓冲区的固定长度。 | 150| [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) | 获取输入音频流时间戳和位置信息。 | 151| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_GetFramesRead](#oh_audiocapturer_getframesread)([OH_AudioCapturer](#oh_audiocapturer) \*capturer, int64_t \*frames) | 查询自创建流以来已读取的帧数。 | 152| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioCapturer_GetOverflowCount](#oh_audiocapturer_getoverflowcount)([OH_AudioCapturer](#oh_audiocapturer) \*capturer, uint32_t \*count) | 查询当前录制音频流过载数。 | 153| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_Release](#oh_audiorenderer_release)([OH_AudioRenderer](#oh_audiorenderer) \*renderer) | 释放输出音频流。 | 154| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_Start](#oh_audiorenderer_start)([OH_AudioRenderer](#oh_audiorenderer) \*renderer) | 开始输出音频数据。 | 155| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_Pause](#oh_audiorenderer_pause)([OH_AudioRenderer](#oh_audiorenderer) \*renderer) | 暂停输出音频流。 | 156| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_Stop](#oh_audiorenderer_stop)([OH_AudioRenderer](#oh_audiorenderer) \*renderer) | 停止输出音频流。 | 157| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_Flush](#oh_audiorenderer_flush)([OH_AudioRenderer](#oh_audiorenderer) \*renderer) | 丢弃已经写入的音频数据。 | 158| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_GetCurrentState](#oh_audiorenderer_getcurrentstate)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, [OH_AudioStream_State](#oh_audiostream_state) \*state) | 查询当前输出音频流状态。 | 159| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_GetSamplingRate](#oh_audiorenderer_getsamplingrate)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, int32_t \*rate) | 查询当前输出音频流采样率。 | 160| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_GetStreamId](#oh_audiorenderer_getstreamid)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, uint32_t \*streamId) | 查询当前输出音频流ID。 | 161| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_GetChannelCount](#oh_audiorenderer_getchannelcount)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, int32_t \*channelCount) | 查询当前输出音频流通道数。 | 162| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_GetSampleFormat](#oh_audiorenderer_getsampleformat)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, [OH_AudioStream_SampleFormat](#oh_audiostream_sampleformat) \*sampleFormat) | 查询当前输出音频流采样格式。 | 163| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_GetLatencyMode](#oh_audiorenderer_getlatencymode)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, [OH_AudioStream_LatencyMode](#oh_audiostream_latencymode) \*latencyMode) | 查询当前输出音频流时延模式。 | 164| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_GetRendererInfo](#oh_audiorenderer_getrendererinfo)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, [OH_AudioStream_Usage](#oh_audiostream_usage) \*usage) | 查询当前输出音频流工作场景类型。 | 165| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_GetEncodingType](#oh_audiorenderer_getencodingtype)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, [OH_AudioStream_EncodingType](#oh_audiostream_encodingtype) \*encodingType) | 查询当前输出音频流编码类型。 | 166| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_GetFramesWritten](#oh_audiorenderer_getframeswritten)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, int64_t \*frames) | 查询自创建流以来已写入的帧数。 | 167| [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) | 获取输出音频流时间戳和位置信息。 | 168| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_GetFrameSizeInCallback](#oh_audiorenderer_getframesizeincallback)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, int32_t \*frameSize) | 在回调中查询帧大小。 | 169| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_GetSpeed](#oh_audiorenderer_getspeed)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, float \*speed) | 获取音频渲染速率。 | 170| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_SetSpeed](#oh_audiorenderer_setspeed)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, float speed) | 设置音频渲染速率。 | 171| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_SetMarkPosition](#oh_audiorenderer_setmarkposition)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, uint32_t samplePos, [OH_AudioRenderer_OnMarkReachedCallback](#oh_audiorenderer_onmarkreachedcallback) callback, void \*userData) | 在当前渲染器上设置标记位置。调用此函数将覆盖已设置的标记位置。 | 172| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_CancelMark](#oh_audiorenderer_cancelmark)([OH_AudioRenderer](#oh_audiorenderer) \*renderer) | 取消由[OH_AudioRenderer_SetMarkPosition](#oh_audiorenderer_setmarkposition)设置的标记。 | 173| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_SetVolume](#oh_audiorenderer_setvolume)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, float volume) | 设置当前音频流音量值。 | 174| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_SetVolumeWithRamp](#oh_audiorenderer_setvolumewithramp)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, float volume, int32_t durationMs) | 在指定时间范围内使用渐变更改音量。 | 175| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_GetVolume](#oh_audiorenderer_getvolume)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, float \*volume) | 获取当前音频流音量值。 | 176| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_GetUnderflowCount](#oh_audiorenderer_getunderflowcount)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, uint32_t \*count) | 查询当前播放音频流欠载数。 | 177| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_GetChannelLayout](#oh_audiorenderer_getchannellayout)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, [OH_AudioChannelLayout](../apis-avcodec-kit/_core.md#oh_audiochannellayout-1) \*channelLayout) | 查询当前音频流声道布局。 | 178| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_GetEffectMode](#oh_audiorenderer_geteffectmode)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, [OH_AudioStream_AudioEffectMode](#oh_audiostream_audioeffectmode) \*effectMode) | 查询当前音频流音效模式。 | 179| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_SetEffectMode](#oh_audiorenderer_seteffectmode)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, [OH_AudioStream_AudioEffectMode](#oh_audiostream_audioeffectmode) effectMode) | 设置当前音频流音效模式。 | 180| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_GetRendererPrivacy](#oh_audiorenderer_getrendererprivacy)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, [OH_AudioStream_PrivacyType](#oh_audiostream_privacytype) \*privacy) | 查询当前播放音频流是否会被其它应用录制。 | 181| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_SetSilentModeAndMixWithOthers](#oh_audiorenderer_setsilentmodeandmixwithothers)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, bool on) | 设置静音并发播放模式。 | 182| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_GetSilentModeAndMixWithOthers](#oh_audiorenderer_getsilentmodeandmixwithothers)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, bool \*on) | 查询当前音频流是否开启静音并发播放。 | 183| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioRenderer_SetDefaultOutputDevice](#oh_audiorenderer_setdefaultoutputdevice)([OH_AudioRenderer](#oh_audiorenderer) \*renderer, [OH_AudioDevice_Type](#oh_audiodevice_type) deviceType) | 设置默认本机内置发声设备。 | 184| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_Create](#oh_audiostreambuilder_create)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*\*builder, [OH_AudioStream_Type](#oh_audiostream_type) type) | 创建一个输入或者输出类型的音频流构造器。 | 185| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_Destroy](#oh_audiostreambuilder_destroy)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder) | 销毁一个音频流构造器。 | 186| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_SetSamplingRate](#oh_audiostreambuilder_setsamplingrate)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, int32_t rate) | 设置音频流的采样率属性。 | 187| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_SetChannelCount](#oh_audiostreambuilder_setchannelcount)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, int32_t channelCount) | 设置音频流的通道数属性。 | 188| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_SetSampleFormat](#oh_audiostreambuilder_setsampleformat)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioStream_SampleFormat](#oh_audiostream_sampleformat) format) | 设置音频流的采样格式属性。 | 189| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_SetEncodingType](#oh_audiostreambuilder_setencodingtype)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioStream_EncodingType](#oh_audiostream_encodingtype) encodingType) | 设置音频流的编码类型属性。 | 190| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_SetLatencyMode](#oh_audiostreambuilder_setlatencymode)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioStream_LatencyMode](#oh_audiostream_latencymode) latencyMode) | 设置音频流的时延模式。 | 191| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_SetChannelLayout](#oh_audiostreambuilder_setchannellayout)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioChannelLayout](../apis-avcodec-kit/_core.md#oh_audiochannellayout-1) channelLayout) | 设置音频流的声道布局。 | 192| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_SetRendererInfo](#oh_audiostreambuilder_setrendererinfo)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioStream_Usage](#oh_audiostream_usage) usage) | 设置输出音频流的工作场景。 | 193| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_SetCapturerInfo](#oh_audiostreambuilder_setcapturerinfo)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioStream_SourceType](#oh_audiostream_sourcetype) sourceType) | 设置输入音频流的工作场景。 | 194| [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) | 设置输出音频流的回调。 | 195| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_SetRendererOutputDeviceChangeCallback](#oh_audiostreambuilder_setrendereroutputdevicechangecallback)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioRenderer_OutputDeviceChangeCallback](#oh_audiorenderer_outputdevicechangecallback) callback, void \*userData) | 设置输出音频流设备变更的回调。 | 196| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_SetRendererPrivacy](#oh_audiostreambuilder_setrendererprivacy)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioStream_PrivacyType](#oh_audiostream_privacytype) privacy) | 设置当前播放音频流是否会被其它应用录制。 | 197| [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) | 设置输入音频流的回调。 | 198| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_SetWriteDataWithMetadataCallback](#oh_audiostreambuilder_setwritedatawithmetadatacallback)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioRenderer_WriteDataWithMetadataCallback](#oh_audiorenderer_writedatawithmetadatacallback) callback, void \*userData) | 设置同时写入音频数据和元数据的回调。 | 199| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioRenderer](#oh_audiorenderer) \*\*audioRenderer) | 创建输出音频流实例。 | 200| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioCapturer](#oh_audiocapturer) \*\*audioCapturer) | 创建输入音频流实例。 | 201| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_SetFrameSizeInCallback](#oh_audiostreambuilder_setframesizeincallback)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, int32_t frameSize) | 用于播放时设置每次回调的帧长,帧长至少为音频硬件一次处理的数据大小,并且小于内部缓冲容量的一半。 | 202| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_SetRendererInterruptMode](#oh_audiostreambuilder_setrendererinterruptmode)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioInterrupt_Mode](#oh_audiointerrupt_mode) mode) | 设置流客户端的中断模式。 | 203| [OH_AudioStream_Result](#oh_audiostream_result) [OH_AudioStreamBuilder_SetRendererWriteDataCallback](#oh_audiostreambuilder_setrendererwritedatacallback)([OH_AudioStreamBuilder](#oh_audiostreambuilder) \*builder, [OH_AudioRenderer_OnWriteDataCallback](#oh_audiorenderer_onwritedatacallback) callback, void \*userData) | 设置写入音频数据的回调。 | 204 205 206## 类型定义说明 207 208 209### OH_AudioCapturer 210 211``` 212typedef struct OH_AudioCapturerStruct OH_AudioCapturer 213``` 214**描述** 215声明输入音频流。 216 217输入音频流的实例被用来获取音频数据。 218 219**系统能力:** SystemCapability.Multimedia.Audio.Core 220 221**起始版本:** 10 222 223 224### OH_AudioCapturer_Callbacks 225 226``` 227typedef struct OH_AudioCapturer_Callbacks_Struct OH_AudioCapturer_Callbacks 228``` 229**描述** 230声明输入音频流的回调函数指针。 231 232**系统能力:** SystemCapability.Multimedia.Audio.Core 233 234**起始版本:** 10 235 236 237### OH_AudioDeviceDescriptor 238 239``` 240typedef struct OH_AudioDeviceDescriptor OH_AudioDeviceDescriptor 241``` 242**描述** 243声明音频设备描述符。 244 245该实例用于获取更多音频设备详细信息属性。 246 247**起始版本:** 12 248 249 250### OH_AudioDeviceDescriptorArray 251 252``` 253typedef struct OH_AudioDeviceDescriptorArray OH_AudioDeviceDescriptorArray 254``` 255**描述** 256声明音频设备描述符数组。 257 258**起始版本:** 12 259 260 261### OH_AudioManager 262 263``` 264typedef struct OH_AudioManager OH_AudioManager 265``` 266**描述** 267声明音频管理器。 268 269用于管理音频管理相关功能。 270 271**起始版本:** 12 272 273 274### OH_AudioRenderer 275 276``` 277typedef struct OH_AudioRendererStruct OH_AudioRenderer 278``` 279**描述** 280声明输出音频流。 281 282输出音频流的实例被用来播放音频数据。 283 284**系统能力:** SystemCapability.Multimedia.Audio.Core 285 286**起始版本:** 10 287 288 289### OH_AudioRenderer_Callbacks 290 291``` 292typedef struct OH_AudioRenderer_Callbacks_Struct OH_AudioRenderer_Callbacks 293``` 294**描述** 295声明输出音频流的回调函数指针。 296 297**系统能力:** SystemCapability.Multimedia.Audio.Core 298 299**起始版本:** 10 300 301 302### OH_AudioRenderer_OnMarkReachedCallback 303 304``` 305typedef void (*OH_AudioRenderer_OnMarkReachedCallback)(OH_AudioRenderer *renderer, uint32_t samplePos, void *userData) 306``` 307**描述** 308到达标记位置时回调。 309 310**起始版本:** 12 311 312**参数:** 313 314| 名称 | 描述 | 315| -------- | -------- | 316| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 317| samplePos | 设置目标标记位置。 | 318| userData | 指向通过回调函数传递的应用数据指针。 | 319 320 321### OH_AudioRenderer_OnWriteDataCallback 322 323``` 324typedef OH_AudioData_Callback_Result(* OH_AudioRenderer_OnWriteDataCallback)(OH_AudioRenderer *renderer, void *userData, void *audioData, int32_t audioDataSize) 325``` 326**描述** 327该函数指针将指向用于写入音频数据的回调函数。 328 329回调函数仅用来写入音频数据,请勿在回调函数中调用AudioRenderer相关接口。 330 331该函数类似于 [OH_AudioRenderer_Callbacks_Struct.OH_AudioRenderer_OnWriteData](_o_h___audio_renderer___callbacks___struct.md#oh_audiorenderer_onwritedata) 函数指针。但具有返回值,用于标识音频数据回调结果。 该函数的返回结果表示填充到缓冲区的数据是否有效。如果结果无效,用户填写的数据将不被播放。回调函数结束后,音频服务会把audioData指针数据放入队列里等待播放,因此请勿在回调外再次更改audioData指向的数据, 且务必保证往audioData填满audioDataSize长度的待播放数据, 否则会导致音频服务播放杂音。参数audioDataSize可以通过[OH_AudioStreamBuilder_SetFrameSizeInCallBack()](#OH_AudioStreamBuilder_SetFrameSizeInCallback)设置。 332 333**系统能力:** SystemCapability.Multimedia.Audio.Core 334 335**起始版本:** 12 336 337**参数:** 338 339| 名称 | 描述 | 340| -------- | -------- | 341| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 342| userData | 指向通过回调函数传递的应用数据指针。 | 343| audioData | 指向用户写入的音频数据的指针。 | 344| audioDataSize | 用户写入的音频数据的数据长度,以字节为单位。 | 345 346**返回:** 347 348函数返回值[OH_AudioData_Callback_Result](#oh_audiodata_callback_result): 349 350AUDIO_DATA_CALLBACK_RESULT_INVALID:音频数据回调结果无效,且音频数据不播放。 351 352AUDIO_DATA_CALLBACK_RESULT_VALID:音频数据回调结果有效,将播放音频数据。 353 354**参见:** 355 356[OH_AudioRenderer_Callbacks_Struct.OH_AudioRenderer_OnWriteData](_o_h___audio_renderer___callbacks___struct.md#oh_audiorenderer_onwritedata) 357 358 359### OH_AudioRenderer_OutputDeviceChangeCallback 360 361``` 362typedef void (*OH_AudioRenderer_OutputDeviceChangeCallback)(OH_AudioRenderer *renderer, void *userData, OH_AudioStream_DeviceChangeReason reason) 363``` 364 365**描述** 366输出音频流设备变更的回调函数。 367 368**系统能力:** SystemCapability.Multimedia.Audio.Core 369 370**起始版本:** 11 371 372**参数:** 373 374| 名称 | 描述 | 375| -------- | -------- | 376| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 377| userData | 指向通过回调函数传递的应用数据指针。 | 378| reason | 流设备变更原因。 | 379 380 381### OH_AudioRenderer_WriteDataWithMetadataCallback 382 383``` 384typedef int32_t (*OH_AudioRenderer_WriteDataWithMetadataCallback)(OH_AudioRenderer *renderer, void *userData, void *audioData, int32_t audioDataSize, void *metadata, int32_t metadataSize) 385``` 386**描述** 387该函数指针将指向用于同时写入音频数据和元数据的回调函数。 388 389**系统能力:** SystemCapability.Multimedia.Audio.Core 390 391**起始版本:** 12 392 393**参数:** 394 395| 名称 | 描述 | 396| -------- | -------- | 397| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 398| userData | 指向通过回调函数传递的应用数据指针。 | 399| audioData | 指向用户写入的音频数据的指针。 | 400| audioDataSize | 用户写入的音频数据的数据长度,以字节为单位。 | 401| metadata | 指向用户写入的元数据的指针。 | 402| metadataSize | 用户写入的元数据的数据长度,以字节为单位。 | 403 404**返回:** 405 406用户返回的回调函数的错误码。 407 408 409### OH_AudioRoutingManager 410 411``` 412typedef struct OH_AudioRoutingManager OH_AudioRoutingManager 413``` 414**描述** 415声明音频路由管理器,用于路由和设备相关功能的音频路由管理器的句柄。 416 417**起始版本:** 12 418 419 420### OH_AudioRoutingManager_OnDeviceBlockStatusCallback 421 422``` 423typedef void (*OH_AudioRoutingManager_OnDeviceBlockStatusCallback)(OH_AudioDeviceDescriptorArray *audioDeviceDescriptorArray, OH_AudioDevice_BlockStatus status, void *userData); 424``` 425**描述** 426此函数指针将指向用于返回音频设备堵塞状态的回调函数,可能返回多个音频设备描述符。 427 428**起始版本:** 13 429 430**参数:** 431 432| 名称 | 描述 | 433| -------- | -------- | 434| audioDeviceDescriptorArray | 音频设备描述符数组应当被释放,获取请调用[OH_AudioRoutingManager_GetDevices](#oh_audioroutingmanager_getdevices)接口。设置音频设备描述符值的指针变量,不要单独释放audioDeviceDescriptorArray指针,而是调用[OH_AudioRoutingManager_ReleaseDevices](#oh_audioroutingmanager_releasedevices)来释放DeviceDescriptor数组。 | 435| status | 音频设备的堵塞状态[OH_AudioDevice_BlockStatus](#oh_audiodevice_blockstatus)。 | 436| userData | 用户自定义数据指针。 | 437 438 439### OH_AudioRoutingManager_OnDeviceChangedCallback 440 441``` 442typedef int32_t (*OH_AudioRoutingManager_OnDeviceChangedCallback)(OH_AudioDevice_ChangeType type, OH_AudioDeviceDescriptorArray *audioDeviceDescriptorArray) 443``` 444**描述** 445此函数指针将指向用于返回更改的音频设备描述符的回调函数,可能返回多个音频设备描述符。 446 447**起始版本:** 12 448 449**参数:** 450 451| 名称 | 描述 | 452| -------- | -------- | 453| type | 设备连接状态类型。 [OH_AudioDevice_ChangeType](#oh_audiodevice_changetype) 已连接或断开。 | 454| audioDeviceDescriptorArray | 音频设备描述符数组[OH_AudioDeviceDescriptorArray](_o_h___audio_device_descriptor_array.md)。设置音频设备描述符值的指针变量,不要单独释放audioDeviceDescriptorArray指针, 而是调用[OH_AudioRoutingManager_ReleaseDevices](#oh_audioroutingmanager_releasedevices)来释放DeviceDescriptor数组。 | 455 456 457### OH_AudioSession_DeactivatedCallback 458 459``` 460typedef int32_t (*OH_AudioSession_DeactivatedCallback)(OH_AudioSession_DeactivatedEvent event) 461``` 462**描述** 463这个函数指针将指向用于监听音频会话停用事件的回调函数。 464 465**起始版本:** 12 466 467**参数:** 468 469| 名称 | 描述 | 470| -------- | -------- | 471| event | 指向[OH_AudioSession_Deactivated_Event](#oh_audiosession_deactivatedevent)音频会话已停用事件。 | 472 473 474### OH_AudioSession_DeactivatedEvent 475 476``` 477typedef struct OH_AudioSession_DeactivatedEventOH_AudioSession_DeactivatedEvent 478``` 479**描述** 480音频会话已停用事件。 481 482**起始版本:** 12 483 484 485### OH_AudioSession_Strategy 486 487``` 488typedef struct OH_AudioSession_Strategy OH_AudioSession_Strategy 489``` 490**描述** 491音频会话策略。 492 493**起始版本:** 12 494 495 496### OH_AudioSessionManager 497 498``` 499typedef struct OH_AudioSessionManager OH_AudioSessionManager 500``` 501**描述** 502声明音频会话管理器。 503 504用于管理音频会话相关功能。 505 506**起始版本:** 12 507 508 509### OH_AudioStreamBuilder 510 511``` 512typedef struct OH_AudioStreamBuilderStruct OH_AudioStreamBuilder 513``` 514**描述** 515声明音频流的构造器。 516 517构造器实例通常被用来设置音频流属性和创建音频流。 518 519**系统能力:** SystemCapability.Multimedia.Audio.Core 520 521**起始版本:** 10 522 523 524## 枚举类型说明 525 526 527### OH_AudioCommon_Result 528 529``` 530enum OH_AudioCommon_Result 531``` 532**描述** 533音频错误码。 534 535**起始版本:** 12 536 537| 枚举值 | 描述 | 538| -------- | -------- | 539| AUDIOCOMMON_RESULT_SUCCESS | 操作成功。 | 540| AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM | 入参错误。 | 541| AUDIOCOMMON_RESULT_ERROR_NO_MEMORY | 无内存。 | 542| AUDIOCOMMON_RESULT_ERROR_ILLEGAL_STATE | 非法状态。 | 543| AUDIOCOMMON_RESULT_ERROR_UNSUPPORTED | 操作不支持。 | 544| AUDIOCOMMON_RESULT_ERROR_TIMEOUT | 操作超时。 | 545| AUDIOCOMMON_RESULT_ERROR_STREAM_LIMIT | 达到系统可支持的最大数量。 | 546| AUDIOCOMMON_RESULT_ERROR_SYSTEM | 系统通用错误。 | 547 548 549### OH_AudioData_Callback_Result 550 551``` 552enum OH_AudioData_Callback_Result 553``` 554**描述** 555定义音频数据回调结果。 556 557**系统能力:** SystemCapability.Multimedia.Audio.Core 558 559**起始版本:** 12 560 561| 枚举值 | 描述 | 562| -------- | -------- | 563| AUDIO_DATA_CALLBACK_RESULT_INVALID | 表示音频数据回调结果无效,且音频数据不播放。 | 564| AUDIO_DATA_CALLBACK_RESULT_VALID | 表示音频数据回调结果有效,将播放音频数据。 | 565 566 567### OH_AudioDevice_BlockStatus 568 569``` 570enum OH_AudioDevice_BlockStatus 571``` 572**描述** 573声明音频设备的堵塞状态。默认情况下,音频设备被视为未堵塞。 574 575**起始版本:** 13 576 577| 枚举值 | 描述 | 578| -------- | -------- | 579| AUDIO_DEVICE_UNBLOCKED | 音频设备未被堵塞。 | 580| AUDIO_DEVICE_BLOCKED | 音频设备被堵塞。 | 581 582 583### OH_AudioDevice_ChangeType 584 585``` 586enum OH_AudioDevice_ChangeType 587``` 588**描述** 589定义音频设备更改类型。 590 591**起始版本:** 12 592 593| 枚举值 | 描述 | 594| -------- | -------- | 595| AUDIO_DEVICE_CHANGE_TYPE_CONNECT | 设备连接。 | 596| AUDIO_DEVICE_CHANGE_TYPE_DISCONNECT | 设备断开。 | 597 598 599### OH_AudioDevice_Flag 600 601``` 602enum OH_AudioDevice_Flag 603``` 604**描述** 605定义音频设备标志。 606 607**起始版本:** 12 608 609| 枚举值 | 描述 | 610| -------- | -------- | 611| AUDIO_DEVICE_FLAG_NONE | 无设备。 | 612| AUDIO_DEVICE_FLAG_OUTPUT | 输出设备。 | 613| AUDIO_DEVICE_FLAG_INPUT | 输入设备。 | 614| AUDIO_DEVICE_FLAG_ALL | 所有设备。 | 615 616 617### OH_AudioDevice_Role 618 619``` 620enum OH_AudioDevice_Role 621``` 622**描述** 623定义音频设备角色。 624 625**起始版本:** 12 626 627| 枚举值 | 描述 | 628| -------- | -------- | 629| AUDIO_DEVICE_ROLE_INPUT | 输入设备。 | 630| AUDIO_DEVICE_ROLE_OUTPUT | 输出设备。 | 631 632 633### OH_AudioDevice_Type 634 635``` 636enum OH_AudioDevice_Type 637``` 638**描述** 639定义音频设备类型。 640 641**起始版本:** 12 642 643| 枚举值 | 描述 | 644| -------- | -------- | 645| AUDIO_DEVICE_TYPE_INVALID | 无效设备。 | 646| AUDIO_DEVICE_TYPE_EARPIECE | 内置听筒。 | 647| AUDIO_DEVICE_TYPE_SPEAKER | 内置扬声器。 | 648| AUDIO_DEVICE_TYPE_WIRED_HEADSET | 带话筒的耳机。 | 649| AUDIO_DEVICE_TYPE_WIRED_HEADPHONES | 无话筒的耳机。 | 650| AUDIO_DEVICE_TYPE_BLUETOOTH_SCO | 使用面向同步连接链路(SCO)的蓝牙设备。 | 651| AUDIO_DEVICE_TYPE_BLUETOOTH_A2DP | 使用高级音频分布模式(A2DP)的蓝牙设备。 | 652| AUDIO_DEVICE_TYPE_MIC | 内置麦克风。 | 653| AUDIO_DEVICE_TYPE_USB_HEADSET | USB音频耳机。 | 654| AUDIO_DEVICE_TYPE_DISPLAY_PORT | 显示端口(DisplayPort)设备。 | 655| AUDIO_DEVICE_TYPE_REMOTE_CAST | 音频被系统应用投送到其他远程的设备。 | 656| AUDIO_DEVICE_TYPE_DEFAULT | 默认设备类型。 | 657 658 659### OH_AudioDevice_Usage 660 661``` 662enum OH_AudioDevice_Usage 663``` 664**描述** 665定义可获取的设备种类。 666 667**起始版本:** 12 668 669| 枚举值 | 描述 | 670| -------- | -------- | 671| AUDIO_DEVICE_USAGE_MEDIA_OUTPUT | 媒体输出设备。 | 672| AUDIO_DEVICE_USAGE_MEDIA_INPUT | 媒体输入设备。 | 673| AUDIO_DEVICE_USAGE_MEDIA_ALL | 所有媒体设备。 | 674| AUDIO_DEVICE_USAGE_CALL_OUTPUT | 通话输出设备。 | 675| AUDIO_DEVICE_USAGE_CALL_INPUT | 通话输入设备。 | 676| AUDIO_DEVICE_USAGE_CALL_ALL | 所有通话设备。 | 677 678 679### OH_AudioInterrupt_ForceType 680 681``` 682enum OH_AudioInterrupt_ForceType 683``` 684**描述** 685定义音频中断类型。 686 687当用户监听到音频中断时,将获取此信息。 688 689此类型表示本次音频打断的操作是否已由系统强制执行,具体操作信息(如音频暂停、停止等)可通过[OH_AudioInterrupt_Hint](#oh_audiointerrupt_hint)获取。 690 691**系统能力:** SystemCapability.Multimedia.Audio.Core 692 693**起始版本:** 10 694 695| 枚举值 | 描述 | 696| -------- | -------- | 697| AUDIOSTREAM_INTERRUPT_FORCE | 强制打断类型,即具体操作已由系统强制执行。 | 698| AUDIOSTREAM_INTERRUPT_SHARE | 共享打断类型,即系统不执行具体操作,通过[OH_AudioInterrupt_Hint](#oh_audiointerrupt_hint)提示并建议应用操作,应用可自行决策下一步处理方式。 | 699 700 701### OH_AudioInterrupt_Hint 702 703``` 704enum OH_AudioInterrupt_Hint 705``` 706**描述** 707定义音频中断提示类型。 708 709当用户监听到音频中断时,将获取此信息。 710 711此类型表示根据焦点策略,当前需要对音频流的具体操作(如暂停、调整音量等)。可以结合[OH_AudioInterrupt_ForceType](#oh_audiointerrupt_forcetype)信息,判断该操作是否已由系统强制执行。 712 713**系统能力:** SystemCapability.Multimedia.Audio.Core 714 715**起始版本:** 10 716 717| 枚举值 | 描述 | 718| -------- | -------- | 719| AUDIOSTREAM_INTERRUPT_HINT_NONE | 不提示。 | 720| AUDIOSTREAM_INTERRUPT_HINT_RESUME | 提示音频恢复,应用可主动触发开始渲染或开始采集的相关操作。<br>此操作无法由系统强制执行,其对应的[OH_AudioInterrupt_ForceType](#oh_audiointerrupt_forcetype)一定为AUDIOSTREAM_INTERRUPT_SHARE类型。 | 721| AUDIOSTREAM_INTERRUPT_HINT_PAUSE | 提示音频暂停,暂时失去音频焦点。<br>后续待焦点可用时,会出现AUDIOSTREAM_INTERRUPT_HINT_RESUME事件。 | 722| AUDIOSTREAM_INTERRUPT_HINT_STOP | 提示音频停止,彻底失去音频焦点。 | 723| AUDIOSTREAM_INTERRUPT_HINT_DUCK | 提示音频躲避开始,音频降低音量播放,而不会停止。 | 724| AUDIOSTREAM_INTERRUPT_HINT_UNDUCK | 提示音量躲避结束,音频恢复正常音量。 | 725 726 727### OH_AudioInterrupt_Mode 728 729``` 730enum OH_AudioInterrupt_Mode 731``` 732**描述** 733定义音频中断模式。 734 735通常用来设置音频中断模式。 736 737**系统能力:** SystemCapability.Multimedia.Audio.Core 738 739**起始版本:** 12 740 741| 枚举值 | 描述 | 742| -------- | -------- | 743| AUDIOSTREAM_INTERRUPT_MODE_SHARE | 共享模式。 | 744| AUDIOSTREAM_INTERRUPT_MODE_INDEPENDENT | 独立模式。 | 745 746 747### OH_AudioScene 748 749``` 750enum OH_AudioScene 751``` 752**描述** 753定义音频场景。 754 755**起始版本:** 12 756 757| 枚举值 | 描述 | 758| -------- | -------- | 759| AUDIO_SCENE_DEFAULT | 默认音频场景。 | 760| AUDIO_SCENE_RINGING | 响铃场景。 | 761| AUDIO_SCENE_PHONE_CALL | 电话场景。 | 762| AUDIO_SCENE_VOICE_CHAT | 语音聊天场景。 | 763 764 765### OH_AudioSession_ConcurrencyMode 766 767``` 768enum OH_AudioSession_ConcurrencyMode 769``` 770**描述** 771音频并发模式。 772 773**起始版本:** 12 774 775| 枚举值 | 描述 | 776| -------- | -------- | 777| CONCURRENCY_DEFAULT | 默认使用系统策略。 | 778| CONCURRENCY_MIX_WITH_OTHERS | 和其它正在播放应用进行混音。 | 779| CONCURRENCY_DUCK_OTHERS | 后来播放应用压低正在播放应用的音量。 | 780| CONCURRENCY_PAUSE_OTHERS | 后来播放应用暂停正在播放应用。 | 781 782 783### OH_AudioSession_DeactivatedReason 784 785``` 786enum OH_AudioSession_DeactivatedReason 787``` 788**描述** 789音频会话停用原因。 790 791**起始版本:** 12 792 793| 枚举值 | 描述 | 794| -------- | -------- | 795| DEACTIVATED_LOWER_PRIORITY | 应用焦点被抢占。 | 796| DEACTIVATED_TIMEOUT | 应用停流后超时。 | 797 798 799### OH_AudioStream_AudioEffectMode 800 801``` 802enum OH_AudioStream_AudioEffectMode 803``` 804**描述** 805定义音效模式。 806 807**系统能力:** SystemCapability.Multimedia.Audio.Core 808 809**起始版本:** 12 810 811| 枚举值 | 描述 | 812| -------- | -------- | 813| EFFECT_NONE | 无音效模式。 | 814| EFFECT_DEFAULT | 默认音效模式。 | 815 816 817### OH_AudioStream_DeviceChangeReason 818 819``` 820enum OH_AudioStream_DeviceChangeReason 821``` 822**描述** 823流设备变更原因。 824 825**系统能力:** SystemCapability.Multimedia.Audio.Core 826 827**起始版本:** 11 828 829| 枚举值 | 描述 | 830| -------- | -------- | 831| REASON_UNKNOWN | 未知原因。 | 832| REASON_NEW_DEVICE_AVAILABLE | 新设备可用。 | 833| REASON_OLD_DEVICE_UNAVAILABLE | 旧设备不可用。当报告此原因时,应用程序应考虑暂停音频播放。 | 834| REASON_OVERRODE | 用户或系统强制选择切换。 | 835 836 837### OH_AudioStream_EncodingType 838 839``` 840enum OH_AudioStream_EncodingType 841``` 842**描述** 843定义音频流编码类型。 844 845**系统能力:** SystemCapability.Multimedia.Audio.Core 846 847**起始版本:** 10 848 849| 枚举值 | 描述 | 850| -------- | -------- | 851| AUDIOSTREAM_ENCODING_TYPE_RAW | PCM编码。 | 852| AUDIOSTREAM_ENCODING_TYPE_AUDIOVIVID | AudioVivid编码。<br/>**起始版本:** 12 | 853 854 855### OH_AudioStream_Event 856 857``` 858enum OH_AudioStream_Event 859``` 860**描述** 861定义音频事件。 862 863通常用来描述音频事件。 864 865**系统能力:** SystemCapability.Multimedia.Audio.Core 866 867**起始版本:** 10 868 869| 枚举值 | 描述 | 870| -------- | -------- | 871| AUDIOSTREAM_EVENT_ROUTING_CHANGED | 音频的路由已更改。 | 872 873 874### OH_AudioStream_LatencyMode 875 876``` 877enum OH_AudioStream_LatencyMode 878``` 879**描述** 880定义音频时延模式。 881 882**系统能力:** SystemCapability.Multimedia.Audio.Core 883 884**起始版本:** 10 885 886| 枚举值 | 描述 | 887| -------- | -------- | 888| AUDIOSTREAM_LATENCY_MODE_NORMAL | 该模式代表一个普通时延的音频流。 | 889| AUDIOSTREAM_LATENCY_MODE_FAST | 该模式代表一个低时延的音频流。 | 890 891 892### OH_AudioStream_PrivacyType 893 894``` 895enum OH_AudioStream_PrivacyType 896``` 897**描述** 898用于标识对应播放音频流是否支持被其他应用录制。 899 900**系统能力:** SystemCapability.Multimedia.Audio.Core 901 902**起始版本:** 12 903 904| 枚举值 | 描述 | 905| -------- | -------- | 906| AUDIO_STREAM_PRIVACY_TYPE_PUBLIC | 表示音频流可以被其他应用录制。 | 907| AUDIO_STREAM_PRIVACY_TYPE_PRIVATE | 表示音频流不可以被其他应用录制。 | 908 909 910### OH_AudioStream_Result 911 912``` 913enum OH_AudioStream_Result 914``` 915**描述** 916音频错误码。 917 918**系统能力:** SystemCapability.Multimedia.Audio.Core 919 920**起始版本:** 10 921 922| 枚举值 | 描述 | 923| -------- | -------- | 924| AUDIOSTREAM_SUCCESS | 操作成功 | 925| AUDIOSTREAM_ERROR_INVALID_PARAM | 入参错误。 | 926| AUDIOSTREAM_ERROR_ILLEGAL_STATE | 非法状态。 | 927| AUDIOSTREAM_ERROR_SYSTEM | 系统通用错误。 | 928 929 930### OH_AudioStream_SampleFormat 931 932``` 933enum OH_AudioStream_SampleFormat 934``` 935**描述** 936定义音频流采样格式。 937 938**系统能力:** SystemCapability.Multimedia.Audio.Core 939 940**起始版本:** 10 941 942| 枚举值 | 描述 | 943| -------- | -------- | 944| AUDIOSTREAM_SAMPLE_U8 | Unsigned 8位。 | 945| AUDIOSTREAM_SAMPLE_S16LE | Short 16位小端。 | 946| AUDIOSTREAM_SAMPLE_S24LE | Short 24位小端。 | 947| AUDIOSTREAM_SAMPLE_S32LE | Short 32位小端。 | 948 949 950### OH_AudioStream_SourceType 951 952``` 953enum OH_AudioStream_SourceType 954``` 955**描述** 956定义音频流使用场景。 957 958通常用来描述音频输入流的使用场景。 959 960**系统能力:** SystemCapability.Multimedia.Audio.Core 961 962**起始版本:** 10 963 964| 枚举值 | 描述 | 965| -------- | -------- | 966| AUDIOSTREAM_SOURCE_TYPE_INVALID | 不合法状态。 | 967| AUDIOSTREAM_SOURCE_TYPE_MIC | 录音。 | 968| AUDIOSTREAM_SOURCE_TYPE_VOICE_RECOGNITION | 语音识别。 | 969| AUDIOSTREAM_SOURCE_TYPE_PLAYBACK_CAPTURE | 播放录音。 | 970| AUDIOSTREAM_SOURCE_TYPE_VOICE_COMMUNICATION | 通话。 | 971| AUDIOSTREAM_SOURCE_TYPE_CAMCORDER | 录像。<br>**起始版本:** 13 | 972 973 974### OH_AudioStream_State 975 976``` 977enum OH_AudioStream_State 978``` 979**描述** 980定义音频流的状态。 981 982**系统能力:** SystemCapability.Multimedia.Audio.Core 983 984**起始版本:** 10 985 986| 枚举值 | 描述 | 987| -------- | -------- | 988| AUDIOSTREAM_STATE_INVALID | 不合法的状态。 | 989| AUDIOSTREAM_STATE_NEW | 新创建时的状态。 | 990| AUDIOSTREAM_STATE_PREPARED | 准备状态。 | 991| AUDIOSTREAM_STATE_RUNNING | 工作状态。 | 992| AUDIOSTREAM_STATE_STOPPED | 停止状态。 | 993| AUDIOSTREAM_STATE_RELEASED | 释放状态。 | 994| AUDIOSTREAM_STATE_PAUSED | 暂停状态。 | 995 996 997### OH_AudioStream_Type 998 999``` 1000enum OH_AudioStream_Type 1001``` 1002**描述** 1003音频流类型。 1004 1005**系统能力:** SystemCapability.Multimedia.Audio.Core 1006 1007**起始版本:** 10 1008 1009| 枚举值 | 描述 | 1010| -------- | -------- | 1011| AUDIOSTREAM_TYPE_RENDERER | 该类型代表音频流是输出流。 | 1012| AUDIOSTREAM_TYPE_CAPTURER | 该类型代表音频流是输入流。 | 1013 1014 1015### OH_AudioStream_Usage 1016 1017``` 1018enum OH_AudioStream_Usage 1019``` 1020**描述** 1021定义音频流使用场景。 1022 1023通常用来描述音频输出流的使用场景。 1024 1025**系统能力:** SystemCapability.Multimedia.Audio.Core 1026 1027**起始版本:** 10 1028 1029| 枚举值 | 描述 | 1030| -------- | -------- | 1031| AUDIOSTREAM_USAGE_UNKNOWN | 未知类型。 | 1032| AUDIOSTREAM_USAGE_MUSIC | 音乐。 | 1033| AUDIOSTREAM_USAGE_VOICE_COMMUNICATION | VoIP语音通话。 | 1034| AUDIOSTREAM_USAGE_VOICE_ASSISTANT | 语音播报。 | 1035| AUDIOSTREAM_USAGE_ALARM | 闹钟。 | 1036| AUDIOSTREAM_USAGE_VOICE_MESSAGE | 语音消息。 | 1037| AUDIOSTREAM_USAGE_RINGTONE | 铃声。 | 1038| AUDIOSTREAM_USAGE_NOTIFICATION | 通知。 | 1039| AUDIOSTREAM_USAGE_ACCESSIBILITY | 无障碍。 | 1040| AUDIOSTREAM_USAGE_MOVIE | 电影或视频。 | 1041| AUDIOSTREAM_USAGE_GAME | 游戏。 | 1042| AUDIOSTREAM_USAGE_AUDIOBOOK | 有声读物(包括听书、相声、评书)、听新闻、播客等。 | 1043| AUDIOSTREAM_USAGE_NAVIGATION | 导航。 | 1044| AUDIOSTREAM_USAGE_VIDEO_COMMUNICATION | VoIP视频通话。<br>**起始版本:** 12 | 1045 1046 1047## 函数说明 1048 1049 1050### OH_AudioCapturer_Flush() 1051 1052``` 1053OH_AudioStream_Result OH_AudioCapturer_Flush(OH_AudioCapturer *capturer) 1054``` 1055**描述** 1056丢弃获取的音频数据。 1057 1058**起始版本:** 10 1059 1060**系统能力:** SystemCapability.Multimedia.Audio.Core 1061 1062**参数:** 1063 1064| 名称 | 描述 | 1065| -------- | -------- | 1066| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 | 1067 1068**返回:** 1069 1070函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 1071 1072AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 1073 1074AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。 1075 1076AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。 1077 1078 1079### OH_AudioCapturer_GetCapturerInfo() 1080 1081``` 1082OH_AudioStream_Result OH_AudioCapturer_GetCapturerInfo(OH_AudioCapturer *capturer, OH_AudioStream_SourceType *sourceType) 1083``` 1084**描述** 1085查询当前音频流工作场景类型。 1086 1087**起始版本:** 10 1088 1089**系统能力:** SystemCapability.Multimedia.Audio.Core 1090 1091**参数:** 1092 1093| 名称 | 描述 | 1094| -------- | -------- | 1095| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 | 1096| sourceType | 指向一个用来接收输入类型音频流的工作场景的变量。 | 1097 1098**返回:** 1099 1100函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 1101 1102AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 1103 1104AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。 1105 1106 1107### OH_AudioCapturer_GetChannelCount() 1108 1109``` 1110OH_AudioStream_Result OH_AudioCapturer_GetChannelCount(OH_AudioCapturer *capturer, int32_t *channelCount) 1111``` 1112**描述** 1113查询当前音频流通道数。 1114 1115**起始版本:** 10 1116 1117**系统能力:** SystemCapability.Multimedia.Audio.Core 1118 1119**参数:** 1120 1121| 名称 | 描述 | 1122| -------- | -------- | 1123| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 | 1124| channelCount | 指向一个用来接收音频流通道数的变量。 | 1125 1126**返回:** 1127 1128函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 1129 1130AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 1131 1132AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。 1133 1134 1135### OH_AudioCapturer_GetCurrentState() 1136 1137``` 1138OH_AudioStream_Result OH_AudioCapturer_GetCurrentState(OH_AudioCapturer *capturer, OH_AudioStream_State *state) 1139``` 1140**描述** 1141查询当前音频流状态。 1142 1143**起始版本:** 10 1144 1145**系统能力:** SystemCapability.Multimedia.Audio.Core 1146 1147**参数:** 1148 1149| 名称 | 描述 | 1150| -------- | -------- | 1151| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 | 1152| state | 指向一个用来接收音频流状态的变量。 | 1153 1154**返回:** 1155 1156函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 1157 1158AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 1159 1160AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。 1161 1162 1163### OH_AudioCapturer_GetEncodingType() 1164 1165``` 1166OH_AudioStream_Result OH_AudioCapturer_GetEncodingType(OH_AudioCapturer *capturer, OH_AudioStream_EncodingType *encodingType) 1167``` 1168**描述** 1169查询当前音频流编码类型。 1170 1171**起始版本:** 10 1172 1173**系统能力:** SystemCapability.Multimedia.Audio.Core 1174 1175**参数:** 1176 1177| 名称 | 描述 | 1178| -------- | -------- | 1179| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 | 1180| encodingType | 指向一个用来接收音频流编码类型的变量。 | 1181 1182**返回:** 1183 1184函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 1185 1186AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 1187 1188AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。 1189 1190 1191### OH_AudioCapturer_GetFrameSizeInCallback() 1192 1193``` 1194OH_AudioStream_Result OH_AudioCapturer_GetFrameSizeInCallback(OH_AudioCapturer *capturer, int32_t *frameSize) 1195``` 1196**描述** 1197在回调中查询帧大小,它是每次回调返回的缓冲区的固定长度。 1198 1199**起始版本:** 10 1200 1201**系统能力:** SystemCapability.Multimedia.Audio.Core 1202 1203**参数:** 1204 1205| 名称 | 描述 | 1206| -------- | -------- | 1207| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 | 1208| frameSize | 指向将为帧大小设置的变量的指针。 | 1209 1210**返回:** 1211 1212函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 1213 1214AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 1215 1216AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。 1217 1218AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。 1219 1220 1221### OH_AudioCapturer_GetFramesRead() 1222 1223``` 1224OH_AudioStream_Result OH_AudioCapturer_GetFramesRead(OH_AudioCapturer *capturer, int64_t *frames) 1225``` 1226**描述** 1227查询自创建流以来已读取的帧数。 1228 1229**起始版本:** 10 1230 1231**系统能力:** SystemCapability.Multimedia.Audio.Core 1232 1233**参数:** 1234 1235| 名称 | 描述 | 1236| -------- | -------- | 1237| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 | 1238| frames | 指向将为帧计数设置的变量的指针。 | 1239 1240**返回:** 1241 1242函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 1243 1244AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 1245 1246AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。 1247 1248 1249### OH_AudioCapturer_GetLatencyMode() 1250 1251``` 1252OH_AudioStream_Result OH_AudioCapturer_GetLatencyMode(OH_AudioCapturer *capturer, OH_AudioStream_LatencyMode *latencyMode) 1253``` 1254**描述** 1255查询当前音频流时延模式。 1256 1257**起始版本:** 10 1258 1259**系统能力:** SystemCapability.Multimedia.Audio.Core 1260 1261**参数:** 1262 1263| 名称 | 描述 | 1264| -------- | -------- | 1265| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 | 1266| latencyMode | 指向一个用来接收音频流时延模式的变量。 | 1267 1268**返回:** 1269 1270函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 1271 1272AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 1273 1274AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。 1275 1276 1277### OH_AudioCapturer_GetOverflowCount() 1278 1279``` 1280OH_AudioStream_Result OH_AudioCapturer_GetOverflowCount(OH_AudioCapturer *capturer, uint32_t *count) 1281``` 1282**描述** 1283查询当前录制音频流过载数。 1284 1285**起始版本:** 12 1286 1287**参数:** 1288 1289| 名称 | 描述 | 1290| -------- | -------- | 1291| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 | 1292| count | 指向一个用来接收音频流过载数的变量的指针。 | 1293 1294**返回:** 1295 1296函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 1297 1298AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 1299 1300AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。 1301 1302 1303### OH_AudioCapturer_GetSampleFormat() 1304 1305``` 1306OH_AudioStream_Result OH_AudioCapturer_GetSampleFormat(OH_AudioCapturer *capturer, OH_AudioStream_SampleFormat *sampleFormat) 1307``` 1308**描述** 1309查询当前输入音频流采样格式。 1310 1311**起始版本:** 10 1312 1313**系统能力:** SystemCapability.Multimedia.Audio.Core 1314 1315**参数:** 1316 1317| 名称 | 描述 | 1318| -------- | -------- | 1319| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 | 1320| sampleFormat | 指向一个用来接收音频流采样格式的变量。 | 1321 1322**返回:** 1323 1324函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 1325 1326AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 1327 1328AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。 1329 1330 1331### OH_AudioCapturer_GetSamplingRate() 1332 1333``` 1334OH_AudioStream_Result OH_AudioCapturer_GetSamplingRate(OH_AudioCapturer *capturer, int32_t *rate) 1335``` 1336**描述** 1337查询当前输入音频流采样率。 1338 1339**起始版本:** 10 1340 1341**系统能力:** SystemCapability.Multimedia.Audio.Core 1342 1343**参数:** 1344 1345| 名称 | 描述 | 1346| -------- | -------- | 1347| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 | 1348| rate | 指向一个用来接收音频流采样率的变量。 | 1349 1350**返回:** 1351 1352函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 1353 1354AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 1355 1356AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。 1357 1358 1359### OH_AudioCapturer_GetStreamId() 1360 1361``` 1362OH_AudioStream_Result OH_AudioCapturer_GetStreamId(OH_AudioCapturer *capturer, uint32_t *streamId) 1363``` 1364**描述** 1365查询当前输入音频流ID。 1366 1367**起始版本:** 10 1368 1369**系统能力:** SystemCapability.Multimedia.Audio.Core 1370 1371**参数:** 1372 1373| 名称 | 描述 | 1374| -------- | -------- | 1375| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 | 1376| streamId | 指向一个用来接收音频流ID的变量。 | 1377 1378**返回:** 1379 1380函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 1381 1382AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 1383 1384AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。 1385 1386 1387### OH_AudioCapturer_GetTimestamp() 1388 1389``` 1390OH_AudioStream_Result OH_AudioCapturer_GetTimestamp(OH_AudioCapturer *capturer, clockid_t clockId, int64_t *framePosition, int64_t *timestamp) 1391``` 1392**描述** 1393获取输入音频流时间戳和位置信息。 1394 1395该接口可以获取到音频通道实际录制位置(framePosition)以及录制到该位置时候的时间戳(timestamp),时间戳单位为纳秒。 1396 1397**起始版本:** 10 1398 1399**系统能力:** SystemCapability.Multimedia.Audio.Core 1400 1401**参数:** 1402 1403| 名称 | 描述 | 1404| -------- | -------- | 1405| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 | 1406| clockId | 时钟标识符,使用CLOCK_MONOTONIC。 | 1407| framePosition | 指向要接收位置的变量的指针。 | 1408| timestamp | 指向接收时间戳的变量的指针。 | 1409 1410**返回:** 1411 1412函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 1413 1414AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 1415 1416AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM: 1417 1418 1. 参数capturer为nullptr; 1419 2. 参数clockId无效。 1420 1421AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。 1422 1423 1424### OH_AudioCapturer_Pause() 1425 1426``` 1427OH_AudioStream_Result OH_AudioCapturer_Pause(OH_AudioCapturer *capturer) 1428``` 1429**描述** 1430暂停输入音频流。 1431 1432**起始版本:** 10 1433 1434**系统能力:** SystemCapability.Multimedia.Audio.Core 1435 1436**参数:** 1437 1438| 名称 | 描述 | 1439| -------- | -------- | 1440| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 | 1441 1442**需要权限:** 1443 1444ohos.permission.MICROPHONE 1445 1446**返回:** 1447 1448函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 1449 1450AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 1451 1452AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。 1453 1454AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。 1455 1456 1457### OH_AudioCapturer_Release() 1458 1459``` 1460OH_AudioStream_Result OH_AudioCapturer_Release(OH_AudioCapturer *capturer) 1461``` 1462**描述** 1463释放输入音频流。 1464 1465**起始版本:** 10 1466 1467**系统能力:** SystemCapability.Multimedia.Audio.Core 1468 1469**参数:** 1470 1471| 名称 | 描述 | 1472| -------- | -------- | 1473| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 | 1474 1475**需要权限:** 1476 1477ohos.permission.MICROPHONE 1478 1479**返回:** 1480 1481函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 1482 1483AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 1484 1485AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。 1486 1487AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。 1488 1489 1490### OH_AudioCapturer_Start() 1491 1492``` 1493OH_AudioStream_Result OH_AudioCapturer_Start(OH_AudioCapturer *capturer) 1494``` 1495**描述** 1496开始获取音频数据。 1497 1498**起始版本:** 10 1499 1500**系统能力:** SystemCapability.Multimedia.Audio.Core 1501 1502**参数:** 1503 1504| 名称 | 描述 | 1505| -------- | -------- | 1506| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 | 1507 1508**需要权限:** 1509 1510ohos.permission.MICROPHONE 1511 1512**返回:** 1513 1514函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 1515 1516AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 1517 1518AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。 1519 1520AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。 1521 1522 1523### OH_AudioCapturer_Stop() 1524 1525``` 1526OH_AudioStream_Result OH_AudioCapturer_Stop(OH_AudioCapturer *capturer) 1527``` 1528**描述** 1529停止输入音频流。 1530 1531**起始版本:** 10 1532 1533**系统能力:** SystemCapability.Multimedia.Audio.Core 1534 1535**参数:** 1536 1537| 名称 | 描述 | 1538| -------- | -------- | 1539| capturer | 指向[OH_AudioStreamBuilder_GenerateCapturer](#oh_audiostreambuilder_generatecapturer)创建的音频流实例。 | 1540 1541**需要权限:** 1542 1543ohos.permission.MICROPHONE 1544 1545**返回:** 1546 1547函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 1548 1549AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 1550 1551AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。 1552 1553AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。 1554 1555 1556### OH_AudioDeviceDescriptor_GetDeviceAddress() 1557 1558``` 1559OH_AudioCommon_Result OH_AudioDeviceDescriptor_GetDeviceAddress(OH_AudioDeviceDescriptor *audioDeviceDescriptor, char **address) 1560``` 1561**描述** 1562查询目标音频设备描述符的设备地址。 1563 1564**起始版本:** 12 1565 1566**参数:** 1567 1568| 名称 | 描述 | 1569| -------- | -------- | 1570| audioDeviceDescriptor | 音频设备描述符。通过 [OH_AudioRoutingManager_GetDevices](#oh_audioroutingmanager_getdevices) 或者 [OH_AudioRouterManager_OnDeviceChangedCallback](#oh_audioroutingmanager_ondevicechangedcallback)获取。 | 1571| address | 设备MAC地址指针,将设置设备MAC地址值的变量。 不要单独释放音频设备MAC地址指针,而是调用[OH_AudioRoutingManager_ReleaseDevices](#oh_audioroutingmanager_releasedevices),以便在不再使用时释放所有DeviceDescriptor数组。 | 1572 1573**返回:** 1574 1575AUDIOCOMMON_RESULT_SUCCESS 或 AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM 1576 1577 1578### OH_AudioDeviceDescriptor_GetDeviceChannelCounts() 1579 1580``` 1581OH_AudioCommon_Result OH_AudioDeviceDescriptor_GetDeviceChannelCounts(OH_AudioDeviceDescriptor *audioDeviceDescriptor, uint32_t **channelCounts, uint32_t *size) 1582``` 1583**描述** 1584查询目标音频设备描述符的设备通道计数数组。 1585 1586**起始版本:** 12 1587 1588**参数:** 1589 1590| 名称 | 描述 | 1591| -------- | -------- | 1592| audioDeviceDescriptor | 音频设备描述符。通过 [OH_AudioRoutingManager_GetDevices](#oh_audioroutingmanager_getdevices) 或者 [OH_AudioRouterManager_OnDeviceChangedCallback](#oh_audioroutingmanager_ondevicechangedcallback)获取。 | 1593| channelCounts | 数组指针变量,该变量将设置通道计数数组值。 不要单独释放音频设备通道数指针,而是调用[OH_AudioRoutingManager_ReleaseDevices](#oh_audioroutingmanager_releasedevices),以便在不再使用时释放所有DeviceDescriptor数组。 | 1594| size | 设置通道计数大小值的指针变量。 | 1595 1596**返回:** 1597 1598AUDIOCOMMON_RESULT_SUCCESS 或 AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM 1599 1600 1601### OH_AudioDeviceDescriptor_GetDeviceDisplayName() 1602 1603``` 1604OH_AudioCommon_Result OH_AudioDeviceDescriptor_GetDeviceDisplayName(OH_AudioDeviceDescriptor *audioDeviceDescriptor, char **displayName) 1605``` 1606**描述** 1607查询目标音频设备描述符的显示名称。 1608 1609**起始版本:** 12 1610 1611**参数:** 1612 1613| 名称 | 描述 | 1614| -------- | -------- | 1615| audioDeviceDescriptor | 音频设备描述符。通过 [OH_AudioRoutingManager_GetDevices](#oh_audioroutingmanager_getdevices) 或者 [OH_AudioRouterManager_OnDeviceChangedCallback](#oh_audioroutingmanager_ondevicechangedcallback)获取。 | 1616| displayName | 设置显示名称值的指针变量。 不要单独释放音频设备显示名称指针,而是调用[OH_AudioRoutingManager_ReleaseDevices](#oh_audioroutingmanager_releasedevices),以便在不再使用时释放所有DeviceDescriptor数组。 | 1617 1618**返回:** 1619 1620AUDIOCOMMON_RESULT_SUCCESS 或 AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM 1621 1622 1623### OH_AudioDeviceDescriptor_GetDeviceEncodingTypes() 1624 1625``` 1626OH_AudioCommon_Result OH_AudioDeviceDescriptor_GetDeviceEncodingTypes(OH_AudioDeviceDescriptor *audioDeviceDescriptor, OH_AudioStream_EncodingType **encodingTypes, uint32_t *size) 1627``` 1628**描述** 1629查询目标音频设备描述符的编码类型数组。 1630 1631**起始版本:** 12 1632 1633**参数:** 1634 1635| 名称 | 描述 | 1636| -------- | -------- | 1637| audioDeviceDescriptor | 音频设备描述符。通过 [OH_AudioRoutingManager_GetDevices](#oh_audioroutingmanager_getdevices) 或者 [OH_AudioRouterManager_OnDeviceChangedCallback](#oh_audioroutingmanager_ondevicechangedcallback)获取。 | 1638| encodingTypes | 音频设备编码类型。 [OH_AudioStream_EncodingType](#oh_audiostream_encodingtype) 不要单独释放音频设备编码类型指针,而是调用[OH_AudioRoutingManager_ReleaseDevices](#oh_audioroutingmanager_releasedevices),以便在不再使用时释放所有DeviceDescriptor数组。 | 1639| size | 设置编码类型大小值的指针变量。 | 1640 1641**返回:** 1642 1643AUDIOCOMMON_RESULT_SUCCESS 或 AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM 1644 1645 1646### OH_AudioDeviceDescriptor_GetDeviceId() 1647 1648``` 1649OH_AudioCommon_Result OH_AudioDeviceDescriptor_GetDeviceId(OH_AudioDeviceDescriptor *audioDeviceDescriptor, uint32_t *id) 1650``` 1651**描述** 1652查询目标音频设备描述符的设备id。 1653 1654**起始版本:** 12 1655 1656**参数:** 1657 1658| 名称 | 描述 | 1659| -------- | -------- | 1660| audioDeviceDescriptor | 音频设备描述符。通过 [OH_AudioRoutingManager_GetDevices](#oh_audioroutingmanager_getdevices) 或者 [OH_AudioRouterManager_OnDeviceChangedCallback](#oh_audioroutingmanager_ondevicechangedcallback)获取。 | 1661| id | 设备id指针,将设置设备角色值的变量。 | 1662 1663**返回:** 1664 1665AUDIODEVICE_SUCCESS 或 AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM 1666 1667 1668### OH_AudioDeviceDescriptor_GetDeviceName() 1669 1670``` 1671OH_AudioCommon_Result OH_AudioDeviceDescriptor_GetDeviceName(OH_AudioDeviceDescriptor *audioDeviceDescriptor, char **name) 1672``` 1673**描述** 1674查询目标音频设备描述符的设备名称。 1675 1676**起始版本:** 12 1677 1678**参数:** 1679 1680| 名称 | 描述 | 1681| -------- | -------- | 1682| audioDeviceDescriptor | 音频设备描述符。通过 [OH_AudioRoutingManager_GetDevices](#oh_audioroutingmanager_getdevices) 或者 [OH_AudioRouterManager_OnDeviceChangedCallback](#oh_audioroutingmanager_ondevicechangedcallback)获取。 | 1683| name | 设备名称指针,将设置设备名称值的变量。 不要单独释放音频设备名称指针,而是调用[OH_AudioRoutingManager_ReleaseDevices](#oh_audioroutingmanager_releasedevices),以便在不再使用时释放所有DeviceDescriptor数组。 | 1684 1685**返回:** 1686 1687AUDIOCOMMON_RESULT_SUCCESS 或 AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM 1688 1689 1690### OH_AudioDeviceDescriptor_GetDeviceRole() 1691 1692``` 1693OH_AudioCommon_Result OH_AudioDeviceDescriptor_GetDeviceRole(OH_AudioDeviceDescriptor *audioDeviceDescriptor, OH_AudioDevice_Role *deviceRole) 1694``` 1695**描述** 1696查询目标音频设备描述符的设备角色。 1697 1698**起始版本:** 12 1699 1700**参数:** 1701 1702| 名称 | 描述 | 1703| -------- | -------- | 1704| audioDeviceDescriptor | 音频设备描述符。通过 [OH_AudioRoutingManager_GetDevices](#oh_audioroutingmanager_getdevices) 或者 [OH_AudioRouterManager_OnDeviceChangedCallback](#oh_audioroutingmanager_ondevicechangedcallback)获取。 | 1705| deviceRole | 设备角色指针。 [OH_AudioDevice_Role](#oh_audiodevice_role) 将设置设备角色值的变量。 | 1706 1707**返回:** 1708 1709AUDIOCOMMON_RESULT_SUCCESS 或 AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM 1710 1711 1712### OH_AudioDeviceDescriptor_GetDeviceSampleRates() 1713 1714``` 1715OH_AudioCommon_Result OH_AudioDeviceDescriptor_GetDeviceSampleRates(OH_AudioDeviceDescriptor *audioDeviceDescriptor, uint32_t **sampleRates, uint32_t *size) 1716``` 1717**描述** 1718查询目标音频设备描述符的采样率数组。 1719 1720**起始版本:** 12 1721 1722**参数:** 1723 1724| 名称 | 描述 | 1725| -------- | -------- | 1726| audioDeviceDescriptor | 音频设备描述符。通过 [OH_AudioRoutingManager_GetDevices](#oh_audioroutingmanager_getdevices) 或者 [OH_AudioRouterManager_OnDeviceChangedCallback](#oh_audioroutingmanager_ondevicechangedcallback)获取。 | 1727| sampleRates | 设置采样率数组值的数组指针变量。 不要单独释放音频设备采样率指针,而是调用[OH_AudioRoutingManager_ReleaseDevices](#oh_audioroutingmanager_releasedevices),以便在不再使用时释放所有DeviceDescriptor数组。 | 1728| size | 设置采样率大小值的指针变量。 | 1729 1730**返回:** 1731 1732AUDIOCOMMON_RESULT_SUCCESS 或 AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM 1733 1734 1735### OH_AudioDeviceDescriptor_GetDeviceType() 1736 1737``` 1738OH_AudioCommon_Result OH_AudioDeviceDescriptor_GetDeviceType(OH_AudioDeviceDescriptor *audioDeviceDescriptor, OH_AudioDevice_Type *deviceType) 1739``` 1740**描述** 1741查询目标音频设备描述符的设备类型。 1742 1743**起始版本:** 12 1744 1745**参数:** 1746 1747| 名称 | 描述 | 1748| -------- | -------- | 1749| audioDeviceDescriptor | 音频设备描述符。通过 [OH_AudioRoutingManager_GetDevices](#oh_audioroutingmanager_getdevices) 或者 [OH_AudioRouterManager_OnDeviceChangedCallback](#oh_audioroutingmanager_ondevicechangedcallback)获取。 | 1750| deviceType | 设备类型指针。 [OH_AudioDevice_Type](#oh_audiodevice_type) 将设置设备类型值的变量。 | 1751 1752**返回:** 1753 1754AUDIOCOMMON_RESULT_SUCCESS 或 AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM 1755 1756 1757### OH_AudioManager_GetAudioRoutingManager() 1758 1759``` 1760OH_AudioCommon_Result OH_AudioManager_GetAudioRoutingManager(OH_AudioRoutingManager **audioRoutingManager) 1761``` 1762**描述** 1763查询音频路由管理器句柄,该句柄应设置为路由相关函数中的第一个参数。 1764 1765**起始版本:** 12 1766 1767**参数:** 1768 1769| 名称 | 描述 | 1770| -------- | -------- | 1771| audioRoutingManager | 音频路由管理器句柄[OH_AudioRoutingManager](#oh_audioroutingmanager)。 通过[OH_AudioManager_GetAudioRoutingManager](#oh_audiomanager_getaudioroutingmanager)获取句柄。 | 1772 1773**返回:** 1774 1775函数返回值[OH_AudioCommon_Result](#oh_audiocommon_result): 1776 1777AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 1778 1779 1780### OH_AudioManager_GetAudioSessionManager() 1781 1782``` 1783OH_AudioCommon_Result OH_AudioManager_GetAudioSessionManager(OH_AudioSessionManager **audioSessionManager) 1784``` 1785**描述** 1786获取音频会话管理器。 1787 1788使用音频会话管理器相关功能,首先需要获取音频会话管理器实例。 1789 1790**起始版本:** 12 1791 1792**参数:** 1793 1794| 名称 | 描述 | 1795| -------- | -------- | 1796| audioSessionManager | 指向[OH_AudioSessionManager](#oh_audiosessionmanager)音频会话管理器实例。 | 1797 1798**返回:** 1799 1800函数返回值[OH_AudioCommon_Result](#oh_audiocommon_result): 1801 1802AUDIOCOMMON_RESULT_SUCCESS 函数执行成功。 1803 1804 1805### OH_AudioRenderer_CancelMark() 1806 1807``` 1808OH_AudioStream_Result OH_AudioRenderer_CancelMark(OH_AudioRenderer *renderer) 1809``` 1810**描述** 1811取消由[OH_AudioRenderer_SetMarkPosition](#oh_audiorenderer_setmarkposition)设置的标记。 1812 1813**起始版本:** 12 1814 1815**系统能力:** SystemCapability.Multimedia.Audio.Core 1816 1817**参数:** 1818 1819| 名称 | 描述 | 1820| -------- | -------- | 1821| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 1822 1823**返回:** 1824 1825函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 1826 1827AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 1828 1829AUDIOSTREAM_ERROR_INVALID_PARAM:参数renderer为nullptr。 1830 1831 1832### OH_AudioRenderer_Flush() 1833 1834``` 1835OH_AudioStream_Result OH_AudioRenderer_Flush(OH_AudioRenderer *renderer) 1836``` 1837**描述** 1838丢弃已经写入的音频数据。 1839 1840**起始版本:** 10 1841 1842**系统能力:** SystemCapability.Multimedia.Audio.Core 1843 1844**参数:** 1845 1846| 名称 | 描述 | 1847| -------- | -------- | 1848| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 1849 1850**返回:** 1851 1852函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 1853 1854AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 1855 1856AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。 1857 1858AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。 1859 1860 1861### OH_AudioRenderer_GetChannelCount() 1862 1863``` 1864OH_AudioStream_Result OH_AudioRenderer_GetChannelCount(OH_AudioRenderer *renderer, int32_t *channelCount) 1865``` 1866**描述** 1867查询当前输出音频流通道数。 1868 1869**起始版本:** 10 1870 1871**系统能力:** SystemCapability.Multimedia.Audio.Core 1872 1873**参数:** 1874 1875| 名称 | 描述 | 1876| -------- | -------- | 1877| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 1878| channelCount | 指向一个用来接收音频流通道数的变量。 | 1879 1880**返回:** 1881 1882函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 1883 1884AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 1885 1886AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。 1887 1888 1889### OH_AudioRenderer_GetChannelLayout() 1890 1891``` 1892OH_AudioStream_Result OH_AudioRenderer_GetChannelLayout(OH_AudioRenderer *renderer, OH_AudioChannelLayout *channelLayout) 1893``` 1894**描述** 1895查询当前音频流声道布局。 1896 1897**起始版本:** 12 1898 1899**系统能力:** SystemCapability.Multimedia.Audio.Core 1900 1901**参数:** 1902 1903| 名称 | 描述 | 1904| -------- | -------- | 1905| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 1906| channelLayout | 指向一个用来接收音频流声道布局的变量的指针,具体参考[OH_AudioChannelLayout](../apis-avcodec-kit/_core.md#oh_audiochannellayout-1)。 | 1907 1908**返回:** 1909 1910函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 1911 1912AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 1913 1914AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。 1915 1916 1917### OH_AudioRenderer_GetCurrentState() 1918 1919``` 1920OH_AudioStream_Result OH_AudioRenderer_GetCurrentState(OH_AudioRenderer *renderer, OH_AudioStream_State *state) 1921``` 1922**描述** 1923查询当前输出音频流状态。 1924 1925**起始版本:** 10 1926 1927**系统能力:** SystemCapability.Multimedia.Audio.Core 1928 1929**参数:** 1930 1931| 名称 | 描述 | 1932| -------- | -------- | 1933| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 1934| state | 指向一个用来接收音频流状态的变量。 | 1935 1936**返回:** 1937 1938函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 1939 1940AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 1941 1942AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。 1943 1944 1945### OH_AudioRenderer_GetEffectMode() 1946 1947``` 1948OH_AudioStream_Result OH_AudioRenderer_GetEffectMode(OH_AudioRenderer *renderer, OH_AudioStream_AudioEffectMode *effectMode) 1949``` 1950**描述** 1951查询当前音频流音效模式。 1952 1953**起始版本:** 12 1954 1955**系统能力:** SystemCapability.Multimedia.Audio.Core 1956 1957**参数:** 1958 1959| 名称 | 描述 | 1960| -------- | -------- | 1961| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 1962| effectMode | 指向一个用来接收音频流音效模式的变量的指针。 | 1963 1964**返回:** 1965 1966函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 1967 1968AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 1969 1970AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。 1971 1972 1973### OH_AudioRenderer_GetEncodingType() 1974 1975``` 1976OH_AudioStream_Result OH_AudioRenderer_GetEncodingType(OH_AudioRenderer *renderer, OH_AudioStream_EncodingType *encodingType) 1977``` 1978**描述** 1979查询当前输出音频流编码类型。 1980 1981**起始版本:** 10 1982 1983**系统能力:** SystemCapability.Multimedia.Audio.Core 1984 1985**参数:** 1986 1987| 名称 | 描述 | 1988| -------- | -------- | 1989| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 1990| encodingType | 指向一个用来接收音频流编码类型的变量。 | 1991 1992**返回:** 1993 1994函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 1995 1996AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 1997 1998AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。 1999 2000 2001### OH_AudioRenderer_GetFrameSizeInCallback() 2002 2003``` 2004OH_AudioStream_Result OH_AudioRenderer_GetFrameSizeInCallback(OH_AudioRenderer *renderer, int32_t *frameSize) 2005``` 2006**描述** 2007在回调中查询帧大小,它是一个固定的长度,每次回调都要填充流。 2008 2009**起始版本:** 10 2010 2011**系统能力:** SystemCapability.Multimedia.Audio.Core 2012 2013**参数:** 2014 2015| 名称 | 描述 | 2016| -------- | -------- | 2017| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 2018| frameSize | 指向将为帧大小设置的变量的指针。 | 2019 2020**返回:** 2021 2022函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 2023 2024AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 2025 2026AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。 2027 2028 2029### OH_AudioRenderer_GetFramesWritten() 2030 2031``` 2032OH_AudioStream_Result OH_AudioRenderer_GetFramesWritten(OH_AudioRenderer *renderer, int64_t *frames) 2033``` 2034**描述** 2035查询自创建流以来已写入的帧数。 2036 2037**起始版本:** 10 2038 2039**系统能力:** SystemCapability.Multimedia.Audio.Core 2040 2041**参数:** 2042 2043| 名称 | 描述 | 2044| -------- | -------- | 2045| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 2046| frames | 指向将为帧计数设置的变量的指针。 | 2047 2048**返回:** 2049 2050函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 2051 2052AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 2053 2054AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。 2055 2056 2057### OH_AudioRenderer_GetLatencyMode() 2058 2059``` 2060OH_AudioStream_Result OH_AudioRenderer_GetLatencyMode(OH_AudioRenderer *renderer, OH_AudioStream_LatencyMode *latencyMode) 2061``` 2062**描述** 2063查询当前输出音频流时延模式。 2064 2065**起始版本:** 10 2066 2067**系统能力:** SystemCapability.Multimedia.Audio.Core 2068 2069**参数:** 2070 2071| 名称 | 描述 | 2072| -------- | -------- | 2073| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 2074| latencyMode | 指向一个用来接收音频流时延模式的变量。 | 2075 2076**返回:** 2077 2078函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 2079 2080AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 2081 2082AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。 2083 2084 2085### OH_AudioRenderer_GetRendererInfo() 2086 2087``` 2088OH_AudioStream_Result OH_AudioRenderer_GetRendererInfo(OH_AudioRenderer *renderer, OH_AudioStream_Usage *usage) 2089``` 2090**描述** 2091查询当前输出音频流工作场景类型。 2092 2093**起始版本:** 10 2094 2095**系统能力:** SystemCapability.Multimedia.Audio.Core 2096 2097**参数:** 2098 2099| 名称 | 描述 | 2100| -------- | -------- | 2101| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 2102| usage | 指向一个用来接收输出类型音频流的工作场景的变量。 | 2103 2104**返回:** 2105 2106函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 2107 2108AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 2109 2110AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。 2111 2112 2113### OH_AudioRenderer_GetRendererPrivacy() 2114 2115``` 2116OH_AudioStream_Result OH_AudioRenderer_GetRendererPrivacy(OH_AudioRenderer *renderer, OH_AudioStream_PrivacyType *privacy) 2117``` 2118**描述** 2119查询当前播放音频流是否会被其它应用录制。 2120 2121**起始版本:** 12 2122 2123**系统能力:** SystemCapability.Multimedia.Audio.Core 2124 2125**参数:** 2126 2127| 名称 | 描述 | 2128| -------- | -------- | 2129| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 2130| privacy | 用于返回当前流的内录策略。 | 2131 2132**返回:** 2133 2134函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 2135 2136AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 2137 2138AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。 2139 2140 2141### OH_AudioRenderer_GetSampleFormat() 2142 2143``` 2144OH_AudioStream_Result OH_AudioRenderer_GetSampleFormat(OH_AudioRenderer *renderer, OH_AudioStream_SampleFormat *sampleFormat) 2145``` 2146**描述** 2147查询当前输出音频流采样格式。 2148 2149**起始版本:** 10 2150 2151**系统能力:** SystemCapability.Multimedia.Audio.Core 2152 2153**参数:** 2154 2155| 名称 | 描述 | 2156| -------- | -------- | 2157| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 2158| sampleFormat | 指向一个用来接收音频流采样格式的变量。 | 2159 2160**返回:** 2161 2162函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 2163 2164AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 2165 2166AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。 2167 2168 2169### OH_AudioRenderer_GetSamplingRate() 2170 2171``` 2172OH_AudioStream_Result OH_AudioRenderer_GetSamplingRate(OH_AudioRenderer *renderer, int32_t *rate) 2173``` 2174**描述** 2175查询当前输出音频流采样率。 2176 2177**起始版本:** 10 2178 2179**系统能力:** SystemCapability.Multimedia.Audio.Core 2180 2181**参数:** 2182 2183| 名称 | 描述 | 2184| -------- | -------- | 2185| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 2186| rate | 指向一个用来接收音频流采样率的变量。 | 2187 2188**返回:** 2189 2190函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 2191 2192AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 2193 2194AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。 2195 2196 2197### OH_AudioRenderer_GetSilentModeAndMixWithOthers() 2198 2199``` 2200OH_AudioStream_Result OH_AudioRenderer_GetSilentModeAndMixWithOthers(OH_AudioRenderer *renderer, bool *on) 2201``` 2202**描述** 2203查询当前音频流是否开启静音并发播放。 2204 2205**起始版本:** 12 2206 2207**系统能力:** SystemCapability.Multimedia.Audio.Core 2208 2209**参数:** 2210 2211| 名称 | 描述 | 2212| -------- | -------- | 2213| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 2214| on | 用于返回当前流的静音并发状态。 | 2215 2216**返回:** 2217 2218函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 2219 2220AUDIOSTREAM_SUCCESS 函数执行成功。 2221 2222AUDIOSTREAM_ERROR_INVALID_PARAM 参数renderer为nullptr。 2223 2224 2225 2226### OH_AudioRenderer_GetSpeed() 2227 2228``` 2229OH_AudioStream_Result OH_AudioRenderer_GetSpeed(OH_AudioRenderer * renderer, float * speed) 2230``` 2231**描述** 2232获取音频渲染速率。 2233 2234**起始版本:** 11 2235 2236**系统能力:** SystemCapability.Multimedia.Audio.Core 2237 2238**参数:** 2239 2240| 名称 | 描述 | 2241| -------- | -------- | 2242| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 2243| speed | 指向接收播放倍速值的变量的指针。 | 2244 2245**返回:** 2246 2247函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 2248 2249AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 2250 2251AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。 2252 2253 2254### OH_AudioRenderer_GetStreamId() 2255 2256``` 2257OH_AudioStream_Result OH_AudioRenderer_GetStreamId(OH_AudioRenderer *renderer, uint32_t *streamId) 2258``` 2259**描述** 2260查询当前输出音频流ID。 2261 2262**起始版本:** 10 2263 2264**系统能力:** SystemCapability.Multimedia.Audio.Core 2265 2266**参数:** 2267 2268| 名称 | 描述 | 2269| -------- | -------- | 2270| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 2271| streamId | 指向一个用来接收音频流ID的变量。 | 2272 2273**返回:** 2274 2275函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 2276 2277AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 2278 2279AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。 2280 2281 2282### OH_AudioRenderer_GetTimestamp() 2283 2284``` 2285OH_AudioStream_Result OH_AudioRenderer_GetTimestamp(OH_AudioRenderer *renderer, clockid_t clockId, int64_t *framePosition, int64_t *timestamp) 2286``` 2287**描述** 2288获取输出音频流时间戳和位置信息。 2289 2290该接口可以获取到音频通道实际播放位置(framePosition)以及播放到该位置时的时间戳(timestamp),时间戳单位为纳秒。 2291 2292该接口一般用来实现音画同步,建议频率不要太频繁,可以每分钟一次,最好不要低于200ms一次。频繁调用可能会带来功耗问题,因此在能保证音画同步效果的情况下,不需要频繁的查询时间戳。 2293 2294**起始版本:** 10 2295 2296**系统能力:** SystemCapability.Multimedia.Audio.Core 2297 2298**参数:** 2299 2300| 名称 | 描述 | 2301| -------- | -------- | 2302| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 2303| clockId | 时钟标识符,使用CLOCK_MONOTONIC。 | 2304| framePosition | 指向要接收位置的变量的指针。 | 2305| timestamp | 指向接收时间戳的变量的指针。 | 2306 2307**返回:** 2308 2309函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 2310 2311AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 2312 2313AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM: 2314 2315 1. 参数renderer为nullptr; 2316 2. 参数clockId无效。 2317 2318AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。 2319 2320 2321### OH_AudioRenderer_GetUnderflowCount() 2322 2323``` 2324OH_AudioStream_Result OH_AudioRenderer_GetUnderflowCount(OH_AudioRenderer *renderer, uint32_t *count) 2325``` 2326**描述** 2327查询当前播放音频流欠载数。 2328 2329**起始版本:** 12 2330 2331**参数:** 2332 2333| 名称 | 描述 | 2334| -------- | -------- | 2335| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 2336| count | 指向一个用来接收音频流欠载数的变量的指针。 | 2337 2338**返回:** 2339 2340函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 2341 2342AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 2343 2344AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM: 2345 2346 1. 参数renderer为nullptr; 2347 2. 参数count为nullptr。 2348 2349 2350### OH_AudioRenderer_GetVolume() 2351 2352``` 2353OH_AudioStream_Result OH_AudioRenderer_GetVolume(OH_AudioRenderer *renderer, float *volume) 2354``` 2355**描述** 2356获取当前音频流音量值。 2357 2358**系统能力:** SystemCapability.Multimedia.Audio.Core 2359 2360**起始版本:** 12 2361 2362**参数:** 2363 2364| 名称 | 描述 | 2365| -------- | -------- | 2366| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 2367| volume | 指向一个获取当前音频流音量值的指针。音量值的范围是[0.0, 1.0]。 | 2368 2369**返回:** 2370 2371函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 2372 2373AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 2374 2375AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM: 2376 2377 1. 参数renderer为nullptr; 2378 2. 参数volume为nullptr。 2379 2380 2381### OH_AudioRenderer_Pause() 2382 2383``` 2384OH_AudioStream_Result OH_AudioRenderer_Pause(OH_AudioRenderer *renderer) 2385``` 2386**描述** 2387暂停输出音频流。 2388 2389**起始版本:** 10 2390 2391**系统能力:** SystemCapability.Multimedia.Audio.Core 2392 2393**参数:** 2394 2395| 名称 | 描述 | 2396| -------- | -------- | 2397| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 2398 2399**返回:** 2400 2401函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 2402 2403AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 2404 2405AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。 2406 2407AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。 2408 2409 2410### OH_AudioRenderer_Release() 2411 2412``` 2413OH_AudioStream_Result OH_AudioRenderer_Release(OH_AudioRenderer *renderer) 2414``` 2415**描述** 2416释放输出音频流。 2417 2418**起始版本:** 10 2419 2420**系统能力:** SystemCapability.Multimedia.Audio.Core 2421 2422**参数:** 2423 2424| 名称 | 描述 | 2425| -------- | -------- | 2426| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 2427 2428**返回:** 2429 2430函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 2431 2432AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 2433 2434AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。 2435 2436AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。 2437 2438 2439### OH_AudioRenderer_SetDefaultOutputDevice() 2440 2441``` 2442OH_AudioStream_Result OH_AudioRenderer_SetDefaultOutputDevice(OH_AudioRenderer* renderer, OH_AudioDevice_Type deviceType) 2443``` 2444**描述** 2445设置默认本机内置发声设备。 2446 2447本接口仅适用于音频流类型[OH_AudioStream_Usage](#oh_audiostream_usage)为语音消息、VoIP语音通话或者VoIP视频通话的场景使用,以及可选的设备类型为听筒、扬声器和系统默认设备。 2448 2449本接口允许在AudioRenderer创建以后的任何时间被调用,系统会记录应用设置的默认本机内置发声设备。在应用启动播放时,若有外接设备如蓝牙耳机/有线耳机接入,系统优先从外接设备发声;否则系统遵循应用设置的默认本机内置发声设备发声。 2450 2451**起始版本:** 12 2452 2453**系统能力:** SystemCapability.Multimedia.Audio.Core 2454 2455**起始版本:** 12 2456 2457**参数:** 2458 2459| 名称 | 描述 | 2460| -------- | -------- | 2461| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 2462| deviceType | 指向[OH_AudioDevice_Type](#oh_audiodevice_type)用于设置发声设备类型。<br>可设置的设备类型包括: <br>AUDIO_DEVICE_TYPE_EARPIECE: 听筒 <br>AUDIO_DEVICE_TYPE_SPEAKER: 扬声器 <br>AUDIO_DEVICE_TYPE_DEFAULT: 系统默认设备 | 2463 2464**返回:** 2465 2466函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 2467 2468AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 2469 2470AUDIOSTREAM_ERROR_INVALID_PARAM: 2471 24721. 参数renderer为nullptr; 24732. 参数deviceType无效。 2474 2475AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。 2476 2477AUDIOSTREAM_ERROR_SYSTEM:出现系统错误。 2478 2479 2480### OH_AudioRenderer_SetEffectMode() 2481 2482``` 2483OH_AudioStream_Result OH_AudioRenderer_SetEffectMode(OH_AudioRenderer *renderer, OH_AudioStream_AudioEffectMode effectMode) 2484``` 2485**描述** 2486设置当前音频流音效模式。 2487 2488**起始版本:** 12 2489 2490**系统能力:** SystemCapability.Multimedia.Audio.Core 2491 2492**参数:** 2493 2494| 名称 | 描述 | 2495| -------- | -------- | 2496| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 2497| effectMode | 设置当前音频流的目标音效模式。 | 2498 2499**返回:** 2500 2501函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 2502 2503AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 2504 2505AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。 2506 2507 2508### OH_AudioRenderer_SetMarkPosition() 2509 2510``` 2511OH_AudioStream_Result OH_AudioRenderer_SetMarkPosition(OH_AudioRenderer *renderer, uint32_t samplePos, OH_AudioRenderer_OnMarkReachedCallback callback, void *userData) 2512``` 2513**描述** 2514在当前渲染器上设置标记位置。调用此函数将覆盖已设置的标记位置。 2515 2516**起始版本:** 12 2517 2518**系统能力:** SystemCapability.Multimedia.Audio.Core 2519 2520**参数:** 2521 2522| 名称 | 描述 | 2523| -------- | -------- | 2524| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 2525| samplePos | 设置目标标记位置。 | 2526| callback | 当到达目标标记位置时回调[OH_AudioRenderer_OnMarkReachedCallback](#oh_audiorenderer_onmarkreachedcallback)。 | 2527| userData | 指向通过回调函数传递的应用数据指针。 | 2528 2529**返回:** 2530 2531函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 2532 2533AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 2534 2535AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM: 2536 2537 1. 参数renderer为nullptr; 2538 2. 参数samplePos无效。 2539 2540AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。 2541 2542AUDIOSTREAM_ERROR_SYSTEM:出现系统错误。 2543 2544 2545### OH_AudioRenderer_SetSilentModeAndMixWithOthers() 2546 2547``` 2548OH_AudioStream_Result OH_AudioRenderer_SetSilentModeAndMixWithOthers(OH_AudioRenderer *renderer, bool on) 2549``` 2550**描述** 2551设置静音并发播放模式。 2552 2553**起始版本:** 12 2554 2555**系统能力:** SystemCapability.Multimedia.Audio.Core 2556 2557**参数:** 2558 2559| 名称 | 描述 | 2560| -------- | -------- | 2561| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 2562| on | 设置当前音频流的静音并发状态。 true: 设置当前播放的音频流静音播放,并且不会打断其它音频流播放。 false: 取消当前播放的音频流静音播放,音频流可根据系统焦点策略抢占焦点。 | 2563 2564**返回:** 2565 2566函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 2567 2568AUDIOSTREAM_SUCCESS:函数执行成功。 2569 2570AUDIOSTREAM_ERROR_INVALID_PARAM:参数renderer为nullptr。 2571 2572 2573### OH_AudioRenderer_SetSpeed() 2574 2575``` 2576OH_AudioStream_Result OH_AudioRenderer_SetSpeed(OH_AudioRenderer *renderer, float speed) 2577``` 2578**描述** 2579设置音频渲染速率。 2580 2581**起始版本:** 11 2582 2583**系统能力:** SystemCapability.Multimedia.Audio.Core 2584 2585**参数:** 2586 2587| 名称 | 描述 | 2588| -------- | -------- | 2589| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 2590| speed | 设置播放的倍速值(倍速范围:0.25-4.0)。 | 2591 2592**返回:** 2593 2594函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 2595 2596AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 2597 2598AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。 2599 2600 2601### OH_AudioRenderer_SetVolume() 2602 2603``` 2604OH_AudioStream_Result OH_AudioRenderer_SetVolume(OH_AudioRenderer *renderer, float volume) 2605``` 2606**描述** 2607设置当前音频流音量值。 2608 2609**系统能力:** SystemCapability.Multimedia.Audio.Core 2610 2611**起始版本:** 12 2612 2613**参数:** 2614 2615| 名称 | 描述 | 2616| -------- | -------- | 2617| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 2618| volume | 设置当前音频流音量,音量值的范围是[0.0, 1.0]。 | 2619 2620**返回:** 2621 2622函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 2623 2624AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 2625 2626AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM: 2627 2628 1. 参数renderer为nullptr; 2629 2. 参数volume无效。 2630 2631AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。 2632 2633AUDIOSTREAM_ERROR_SYSTEM:出现系统错误。 2634 2635 2636### OH_AudioRenderer_SetVolumeWithRamp() 2637 2638``` 2639OH_AudioStream_Result OH_AudioRenderer_SetVolumeWithRamp(OH_AudioRenderer *renderer, float volume, int32_t durationMs) 2640``` 2641**描述** 2642在指定时间范围内使用渐变更改音量。 2643 2644**系统能力:** SystemCapability.Multimedia.Audio.Core 2645 2646**起始版本:** 12 2647 2648**参数:** 2649 2650| 名称 | 描述 | 2651| -------- | -------- | 2652| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 2653| volume | 目标音量值,取值范围[0.0, 1.0]。 | 2654| durationMs | 音量渐变的持续时间,以毫秒为单位。 | 2655 2656**返回:** 2657 2658函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 2659 2660AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 2661 2662AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM: 2663 2664 1. 参数renderer为nullptr; 2665 2. 参数volume无效。 2666 2667AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。 2668 2669AUDIOSTREAM_ERROR_SYSTEM:出现系统错误。 2670 2671 2672### OH_AudioRenderer_Start() 2673 2674``` 2675OH_AudioStream_Result OH_AudioRenderer_Start(OH_AudioRenderer *renderer) 2676``` 2677**描述** 2678开始输出音频数据。 2679 2680**起始版本:** 10 2681 2682**系统能力:** SystemCapability.Multimedia.Audio.Core 2683 2684**参数:** 2685 2686| 名称 | 描述 | 2687| -------- | -------- | 2688| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 2689 2690**返回:** 2691 2692函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 2693 2694AUDIOSTREAM_SUCCESS:函数执行成功。 2695 2696AUDIOSTREAM_ERROR_INVALID_PARAM:参数renderer为nullptr。 2697 2698AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。 2699 2700 2701### OH_AudioRenderer_Stop() 2702 2703``` 2704OH_AudioStream_Result OH_AudioRenderer_Stop(OH_AudioRenderer *renderer) 2705``` 2706**描述** 2707停止输出音频流。 2708 2709**起始版本:** 10 2710 2711**系统能力:** SystemCapability.Multimedia.Audio.Core 2712 2713**参数:** 2714 2715| 名称 | 描述 | 2716| -------- | -------- | 2717| renderer | 指向[OH_AudioStreamBuilder_GenerateRenderer](#oh_audiostreambuilder_generaterenderer)创建的音频流实例。 | 2718 2719**返回:** 2720 2721函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 2722 2723AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 2724 2725AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。 2726 2727AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。 2728 2729 2730### OH_AudioRoutingManager_GetAvailableDevices() 2731 2732``` 2733OH_AudioCommon_Result OH_AudioRoutingManager_GetAvailableDevices(OH_AudioRoutingManager *audioRoutingManager, OH_AudioDevice_Usage deviceUsage, OH_AudioDeviceDescriptorArray **audioDeviceDescriptorArray) 2734``` 2735**描述** 2736获取音频可选设备列表。 2737 2738**起始版本:** 12 2739 2740**参数:** 2741 2742| 名称 | 描述 | 2743| -------- | -------- | 2744| audioRoutingManager | 指向[OH_AudioManager_GetAudioRoutingManager](#oh_audiomanager_getaudioroutingmanager)创建的音频路由管理器实例: [OH_AudioRoutingManager](#oh_audioroutingmanager)。 | 2745| deviceUsage | 指向[OH_AudioDevice_Usage](#oh_audiodevice_usage)用于设置要获取的设备种类。 | 2746| audioDeviceDescriptorArray | 音频设备描述符数组。[OH_AudioDeviceDescriptorArray](_o_h___audio_device_descriptor_array.md) 设置音频设备描述符值的指针变量,不要单独释放audioDeviceDescriptorArray指针, 而是调用[OH_AudioRoutingManager_ReleaseDevices](#oh_audioroutingmanager_releasedevices)来释放DeviceDescriptor数组。| 2747 2748**返回:** 2749 2750函数返回值[OH_AudioCommon_Result](#oh_audiocommon_result): 2751 2752AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 2753 2754AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM: 27551. 参数audioRoutingManager为nullptr; 27562. 参数deviceUsage无效; 27573. 参数audioDeviceDescriptorArray为nullptr。 2758 2759AUDIOCOMMON_RESULT_ERROR_NO_MEMORY:内存不足。 2760 2761 2762### OH_AudioRoutingManager_GetDevices() 2763 2764``` 2765OH_AudioCommon_Result OH_AudioRoutingManager_GetDevices(OH_AudioRoutingManager *audioRoutingManager, OH_AudioDevice_Flag deviceFlag, OH_AudioDeviceDescriptorArray **audioDeviceDescriptorArray) 2766``` 2767**描述** 2768根据输入的deviceFlag查询可用的设备。 2769 2770**起始版本:** 12 2771 2772**参数:** 2773 2774| 名称 | 描述 | 2775| -------- | -------- | 2776| audioRoutingManager | 音频路由管理器句柄[OH_AudioRoutingManager](#oh_audioroutingmanager)。通过[OH_AudioManager_GetAudioRoutingManager](#oh_audiomanager_getaudioroutingmanager)获取句柄。 | 2777| deviceFlag | 音频设备标志[OH_AudioDevice_Flag](#oh_audiodevice_flag),用于选择目标设备的滤波器参数。 | 2778| audioDeviceDescriptorArray | 音频设备描述符数组[OH_AudioDeviceDescriptorArray](_o_h___audio_device_descriptor_array.md)。 设置音频设备描述符值的指针变量,不要单独释放audioDeviceDescriptorArray指针, 而是调用[OH_AudioRoutingManager_ReleaseDevices](#oh_audioroutingmanager_releasedevices)来释放DeviceDescriptor数组。| 2779 2780**返回:** 2781 2782函数返回值[OH_AudioCommon_Result](#oh_audiocommon_result): 2783 2784AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 2785 2786AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM: 2787 2788 1. 参数audioRoutingManager为nullptr; 2789 2. 参数deviceFlag无效; 2790 3. 参数audioDeviceDescriptorArray为nullptr。 2791 2792AUDIOCOMMON_RESULT_ERROR_NO_MEMORY:内存不足。 2793 2794### OH_AudioRoutingManager_GetPreferredInputDevice() 2795 2796``` 2797OH_AudioCommon_Result OH_AudioRoutingManager_GetPreferredInputDevice(OH_AudioRoutingManager *audioRoutingManager, OH_AudioStream_SourceType sourceType, OH_AudioDeviceDescriptorArray **audioDeviceDescriptorArray) 2798``` 2799**描述** 2800根据音频输入流的使用场景,获取优先级最高的输入设备。 2801 2802**起始版本:** 12 2803 2804**参数:** 2805 2806| 名称 | 描述 | 2807| -------- | -------- | 2808| audioRoutingManager | 指向[OH_AudioManager_GetAudioRoutingManager](#oh_audiomanager_getaudioroutingmanager)创建的音频路由管理器实例: [OH_AudioRoutingManager](#oh_audioroutingmanager)。 | 2809| sourceType | 指向[OH_AudioStream_SourceType](#oh_audiostream_sourcetype)用于设置音频输入流的使用场景。 | 2810| audioDeviceDescriptorArray | 音频设备描述符数组。[OH_AudioDeviceDescriptorArray](_o_h___audio_device_descriptor_array.md) 设置音频设备描述符值的指针变量,不要单独释放audioDeviceDescriptorArray指针, 而是调用[OH_AudioRoutingManager_ReleaseDevices](#oh_audioroutingmanager_releasedevices)来释放DeviceDescriptor数组。| 2811 2812**返回:** 2813 2814函数返回值[OH_AudioCommon_Result](#oh_audiocommon_result): 2815 2816AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 2817 2818AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM: 2819 28201. 参数audioRoutingManager为nullptr; 28212. 参数sourceType无效; 28223. 参数audioDeviceDescriptorArray为nullptr。 2823 2824AUDIOCOMMON_RESULT_ERROR_NO_MEMORY:内存不足。 2825 2826 2827### OH_AudioRoutingManager_GetPreferredOutputDevice() 2828 2829``` 2830OH_AudioCommon_Result OH_AudioRoutingManager_GetPreferredOutputDevice(OH_AudioRoutingManager *audioRoutingManager, OH_AudioStream_Usage streamUsage, OH_AudioDeviceDescriptorArray **audioDeviceDescriptorArray) 2831``` 2832**描述** 2833根据音频输出流的使用场景,获取优先级最高的输出设备。 2834 2835**起始版本:** 12 2836 2837**参数:** 2838 2839| 名称 | 描述 | 2840| -------- | -------- | 2841| audioRoutingManager | 指向[OH_AudioManager_GetAudioRoutingManager](#oh_audiomanager_getaudioroutingmanager)创建的音频路由管理器实例: [OH_AudioRoutingManager](#oh_audioroutingmanager)。 | 2842| streamUsage | 指向[OH_AudioStream_Usage](#oh_audiostream_usage)用于设置音频输出流的使用场景。 | 2843| audioDeviceDescriptorArray | 音频设备描述符数组。[OH_AudioDeviceDescriptorArray](_o_h___audio_device_descriptor_array.md) 设置音频设备描述符值的指针变量,不要单独释放audioDeviceDescriptorArray指针, 而是调用[OH_AudioRoutingManager_ReleaseDevices](#oh_audioroutingmanager_releasedevices)来释放DeviceDescriptor数组。| 2844 2845**返回:** 2846 2847函数返回值[OH_AudioCommon_Result](#oh_audiocommon_result): 2848 2849AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 2850 2851AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM: 2852 28531. 参数audioRoutingManager为nullptr; 28542. 参数streamUsage无效; 28553. 参数audioDeviceDescriptorArray为nullptr。 2856 2857AUDIOCOMMON_RESULT_ERROR_NO_MEMORY:内存不足。 2858 2859 2860### OH_AudioRoutingManager_IsMicBlockDetectionSupported() 2861 2862``` 2863OH_AudioCommon_Result OH_AudioRoutingManager_IsMicBlockDetectionSupported(OH_AudioRoutingManager *audioRoutingManager, bool *supported) 2864``` 2865**描述** 2866查询当前设备是否支持麦克风堵塞状态检测。 2867 2868**起始版本:** 13 2869 2870**参数:** 2871 2872| 名称 | 描述 | 2873| -------- | -------- | 2874| audioRoutingManager | 音频路由管理器句柄[OH_AudioRoutingManager](#oh_audioroutingmanager)。获取句柄通过[OH_AudioManager_GetAudioRoutingManager](#oh_audiomanager_getaudioroutingmanager)。 | 2875| supported | 查询结果。 | 2876 2877**返回:** 2878 2879函数返回值[OH_AudioCommon_Result](#oh_audiocommon_result): 2880 2881AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 2882 2883AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM: 2884 28851. 参数audioRoutingManager为nullptr; 28862. 参数supported为nullptr。 2887 2888 2889### OH_AudioRoutingManager_RegisterDeviceChangeCallback() 2890 2891``` 2892OH_AudioCommon_Result OH_AudioRoutingManager_RegisterDeviceChangeCallback(OH_AudioRoutingManager *audioRoutingManager, OH_AudioDevice_Flag deviceFlag, OH_AudioRoutingManager_OnDeviceChangedCallback callback) 2893``` 2894 2895**描述** 2896注册音频路由管理器的设备更改回调。 2897**起始版本:** 12 2898 2899**参数:** 2900 2901| 名称 | 描述 | 2902| -------- | -------- | 2903| audioRoutingManager | 音频路由管理器句柄[OH_AudioRoutingManager](#oh_audioroutingmanager)。通过[OH_AudioManager_GetAudioRoutingManager](#oh_audiomanager_getaudioroutingmanager)获取句柄。 | 2904| deviceFlag | 音频设备标志[OH_AudioDevice_Flag](#oh_audiodevice_flag),用来注册回调。 | 2905| callback | 函数指针将指向用于返回更改的音频设备描述符的回调函数[OH_AudioRoutingManager_OnDeviceChangedCallback](#oh_audioroutingmanager_ondevicechangedcallback)。 | 2906 2907**返回:** 2908 2909函数返回值[OH_AudioCommon_Result](#oh_audiocommon_result): 2910 2911AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 2912 2913AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM: 2914 2915 1. 参数audioRoutingManager为nullptr; 2916 2. 参数deviceFlag无效; 2917 3. 参数callback为nullptr。 2918 2919 2920### OH_AudioRoutingManager_ReleaseDevices() 2921 2922``` 2923OH_AudioCommon_Result OH_AudioRoutingManager_ReleaseDevices(OH_AudioRoutingManager *audioRoutingManager, OH_AudioDeviceDescriptorArray *audioDeviceDescriptorArray) 2924``` 2925**描述** 2926释放音频设备描述符数组对象。 2927 2928**起始版本:** 12 2929 2930**参数:** 2931 2932| 名称 | 描述 | 2933| -------- | -------- | 2934| audioRoutingManager | 音频路由管理器句柄[OH_AudioRoutingManager](#oh_audioroutingmanager)。通过[OH_AudioManager_GetAudioRoutingManager](#oh_audiomanager_getaudioroutingmanager)获取句柄。 | 2935| audioDeviceDescriptorArray | 音频设备描述符数组应当被释放,调用[OH_AudioRoutingManager_GetDevices](#oh_audioroutingmanager_getdevices)获取。 | 2936 2937**返回:** 2938 2939函数返回值[OH_AudioCommon_Result](#oh_audiocommon_result): 2940 2941AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 2942 2943AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM: 2944 2945 1. 参数audioRoutingManager为nullptr; 2946 2. 参数audioDeviceDescriptorArray为nullptr。 2947 2948 2949### OH_AudioRoutingManager_SetMicBlockStatusCallback() 2950 2951``` 2952OH_AudioCommon_Result OH_AudioRoutingManager_SetMicBlockStatusCallback(OH_AudioRoutingManager *audioRoutingManager OH_AudioRoutingManager_OnDeviceBlockStatusCallback callback, void *userData) 2953``` 2954**描述** 2955设置麦克风是否堵塞状态回调。 2956 2957在使用此功能之前,用户应查询当前设备是否支持检测,应用只有在使用麦克风录音时,并且所使用的麦克风的堵塞状态发生改变,才会收到回调,目前此检测功能仅支持麦克风位于本地设备上。 2958 2959**起始版本:** 13 2960 2961**参数:** 2962 2963| 名称 | 描述 | 2964| -------- | -------- | 2965| audioRoutingManager | 音频路由管理器句柄[OH_AudioRoutingManager](#oh_audioroutingmanager)。获取句柄通过[OH_AudioManager_GetAudioRoutingManager](#oh_audiomanager_getaudioroutingmanager)。 | 2966| callback | 函数指针将指向用于返回接受设备麦克风堵塞状态 [OH_AudioRoutingManager_OnDeviceBlockStatusCallback](#oh_audioroutingmanager_ondeviceblockstatuscallback) | 2967| userData | 用户自定义数据指针。 | 2968 2969**返回:** 2970 2971函数返回值[OH_AudioCommon_Result](#oh_audiocommon_result): 2972 2973AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 2974 2975AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM: 2976 29771. 参数audioRoutingManager为nullptr; 29782. 参数callback为nullptr。 2979 2980 2981### OH_AudioRoutingManager_UnregisterDeviceChangeCallback() 2982 2983``` 2984OH_AudioCommon_Result OH_AudioRoutingManager_UnregisterDeviceChangeCallback(OH_AudioRoutingManager *audioRoutingManager, OH_AudioRoutingManager_OnDeviceChangedCallback callback) 2985``` 2986**描述** 2987取消注册音频路由管理器的设备更改回调。 2988 2989**起始版本:** 12 2990 2991**参数:** 2992 2993| 名称 | 描述 | 2994| -------- | -------- | 2995| audioRoutingManager | 音频路由管理器句柄[OH_AudioRoutingManager](#oh_audioroutingmanager)。通过[OH_AudioManager_GetAudioRoutingManager](#oh_audiomanager_getaudioroutingmanager)获取句柄。 | 2996| callback | 函数指针将指向用于返回更改的音频设备描述符的回调函数[OH_AudioRoutingManager_OnDeviceChangedCallback](#oh_audioroutingmanager_ondevicechangedcallback)。 | 2997 2998**返回:** 2999 3000函数返回值[OH_AudioCommon_Result](#oh_audiocommon_result): 3001 3002AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 3003 3004AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM: 3005 3006 1. 参数audioRoutingManager为nullptr; 3007 2. 参数callback为nullptr。 3008 3009 3010### OH_AudioSessionManager_ActivateAudioSession() 3011 3012``` 3013OH_AudioCommon_Result OH_AudioSessionManager_ActivateAudioSession(OH_AudioSessionManager *audioSessionManager, const OH_AudioSession_Strategy *strategy) 3014``` 3015**描述** 3016激活音频会话。 3017 3018**起始版本:** 12 3019 3020**参数:** 3021 3022| 名称 | 描述 | 3023| -------- | -------- | 3024| audioSessionManager | 指向[OH_AudioManager_GetAudioSessionManager](#oh_audiomanager_getaudiosessionmanager)创建的音频会话管理实例:[OH_AudioSessionManager](#oh_audiosessionmanager)。 | 3025| strategy | 指向[OH_AudioSession_Strategy](_o_h___audio_session___strategy.md)用于设置音频会话策略。 | 3026 3027**返回:** 3028 3029函数返回值[OH_AudioCommon_Result](#oh_audiocommon_result): 3030 3031AUDIOCOMMON_RESULT_SUCCESS 函数执行成功。 3032 3033AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM: 3034 30351. 参数audioSessionManager为nullptr; 30362. 参数strategy无效。 AUDIOCOMMON_RESULT_ERROR_ILLEGAL_STATE 非法状态。 3037 3038 3039### OH_AudioSessionManager_DeactivateAudioSession() 3040 3041``` 3042OH_AudioCommon_Result OH_AudioSessionManager_DeactivateAudioSession(OH_AudioSessionManager *audioSessionManager) 3043``` 3044**描述** 3045停用音频会话。 3046 3047**起始版本:** 12 3048 3049**参数:** 3050 3051| 名称 | 描述 | 3052| -------- | -------- | 3053| audioSessionManager | 指向[OH_AudioManager_GetAudioSessionManager](#oh_audiomanager_getaudiosessionmanager)创建的音频会话管理实例:[OH_AudioSessionManager](#oh_audiosessionmanager)。 | 3054 3055**返回:** 3056 3057函数返回值[OH_AudioCommon_Result](#oh_audiocommon_result): 3058 3059AUDIOCOMMON_RESULT_SUCCESS 函数执行成功。 3060 3061AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数audioSessionManager为nullptr。 3062 3063AUDIOCOMMON_RESULT_ERROR_ILLEGAL_STATE 非法状态。 3064 3065 3066### OH_AudioSessionManager_IsAudioSessionActivated() 3067 3068``` 3069bool OH_AudioSessionManager_IsAudioSessionActivated(OH_AudioSessionManager *audioSessionManager) 3070``` 3071**描述** 3072检查音频会话是否已激活。 3073 3074**起始版本:** 12 3075 3076**参数:** 3077 3078| 名称 | 描述 | 3079| -------- | -------- | 3080| audioSessionManager | 指向[OH_AudioManager_GetAudioSessionManager](#oh_audiomanager_getaudiosessionmanager)创建的音频会话管理实例:[OH_AudioSessionManager](#oh_audiosessionmanager)。 | 3081 3082**返回:** 3083 3084用于返回当前应用的音频会话是否已激活,true表示已激活,false表示已停用。 3085 3086 3087### OH_AudioSessionManager_RegisterSessionDeactivatedCallback() 3088 3089``` 3090OH_AudioCommon_Result OH_AudioSessionManager_RegisterSessionDeactivatedCallback(OH_AudioSessionManager *audioSessionManager, OH_AudioSession_DeactivatedCallback callback) 3091``` 3092**描述** 3093注册音频会话停用事件回调。 3094 3095**起始版本:** 12 3096 3097**参数:** 3098 3099| 名称 | 描述 | 3100| -------- | -------- | 3101| audioSessionManager | 指向[OH_AudioManager_GetAudioSessionManager](#oh_audiomanager_getaudiosessionmanager)创建的音频会话管理实例 [OH_AudioSessionManager](#oh_audiosessionmanager)。 | 3102| callback | 指向[OH_AudioSessionDeactivatedCallback](#oh_audiosession_deactivatedcallback),用于接收音频会话已停用事件。 | 3103 3104**返回:** 3105 3106函数返回值[OH_AudioCommon_Result](#oh_audiocommon_result): 3107 3108AUDIOCOMMON_RESULT_SUCCESS 函数执行成功。 3109 3110AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM: 3111 31121. 参数audioSessionManager为nullptr; 31132. 参数callback为nullptr。 3114 3115 3116### OH_AudioSessionManager_UnregisterSessionDeactivatedCallback() 3117 3118``` 3119OH_AudioCommon_Result OH_AudioSessionManager_UnregisterSessionDeactivatedCallback(OH_AudioSessionManager *audioSessionManager, OH_AudioSession_DeactivatedCallback callback) 3120``` 3121**描述** 3122取消注册音频会话停用事件回调。 3123 3124**起始版本:** 12 3125 3126**参数:** 3127 3128| 名称 | 描述 | 3129| -------- | -------- | 3130| audioSessionManager | 指向[OH_AudioManager_GetAudioSessionManager](#oh_audiomanager_getaudiosessionmanager)创建的音频会话管理实例 [OH_AudioSessionManager](#oh_audiosessionmanager)。 | 3131| callback | 指向[OH_AudioSessionDeactivatedCallback](#oh_audiosession_deactivatedcallback),用于接收音频会话已停用事件。 | 3132 3133**返回:** 3134 3135函数返回值[OH_AudioCommon_Result](#oh_audiocommon_result): 3136 3137AUDIOCOMMON_RESULT_SUCCESS 函数执行成功。 3138 3139AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM: 3140 31411. 参数audioSessionManager为nullptr; 31422. 参数callback为nullptr。 3143 3144 3145### OH_AudioStreamBuilder_Create() 3146 3147``` 3148OH_AudioStream_Result OH_AudioStreamBuilder_Create(OH_AudioStreamBuilder **builder, OH_AudioStream_Type type) 3149``` 3150**描述** 3151创建一个输入或者输出类型的音频流构造器。 3152 3153当构造器不再使用时,需要调用OH_AudioStreamBuilder_Destroy()销毁它。 3154 3155**起始版本:** 10 3156 3157**系统能力:** SystemCapability.Multimedia.Audio.Core 3158 3159**参数:** 3160 3161| 名称 | 描述 | 3162| -------- | -------- | 3163| builder | 该引用指向创建的构造器的结果。 | 3164| type | 构造器的流类型。AUDIOSTREAM_TYPE_RENDERER or AUDIOSTREAM_TYPE_CAPTURER | 3165 3166**返回:** 3167 3168函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 3169 3170AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 3171 3172 3173### OH_AudioStreamBuilder_Destroy() 3174 3175``` 3176OH_AudioStream_Result OH_AudioStreamBuilder_Destroy(OH_AudioStreamBuilder *builder) 3177``` 3178**描述** 3179销毁一个音频流构造器。 3180 3181当构造器不再使用时,需要调用该函数销毁它。 3182 3183**起始版本:** 10 3184 3185**系统能力:** SystemCapability.Multimedia.Audio.Core 3186 3187**参数:** 3188 3189| 名称 | 描述 | 3190| -------- | -------- | 3191| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 | 3192 3193**返回:** 3194 3195函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 3196 3197AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 3198 3199AUDIOSTREAM_ERROR_INVALID_PARAM:参数builder为nullptr。 3200 3201AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。 3202 3203 3204### OH_AudioStreamBuilder_GenerateCapturer() 3205 3206``` 3207OH_AudioStream_Result OH_AudioStreamBuilder_GenerateCapturer(OH_AudioStreamBuilder *builder, OH_AudioCapturer **audioCapturer) 3208``` 3209**描述** 3210创建输入音频流实例。 3211 3212**起始版本:** 10 3213 3214**系统能力:** SystemCapability.Multimedia.Audio.Core 3215 3216**参数:** 3217 3218| 名称 | 描述 | 3219| -------- | -------- | 3220| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 | 3221| audioCapturer | 指向输入音频流实例的指针,将被用来接收函数创建的结果。 | 3222 3223**需要权限:** 3224 3225ohos.permission.MICROPHONE 3226 3227**返回:** 3228 3229函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 3230 3231AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 3232 3233AUDIOSTREAM_ERROR_INVALID_PARAM: 3234 3235 1. 参数builder为nullptr; 3236 2. StreamType无效; 3237 3. 创建OHAudioCapturer失败。 3238 3239 3240### OH_AudioStreamBuilder_GenerateRenderer() 3241 3242``` 3243OH_AudioStream_Result OH_AudioStreamBuilder_GenerateRenderer(OH_AudioStreamBuilder *builder, OH_AudioRenderer **audioRenderer) 3244``` 3245**描述** 3246创建输出音频流实例。 3247 3248**起始版本:** 10 3249 3250**系统能力:** SystemCapability.Multimedia.Audio.Core 3251 3252**参数:** 3253 3254| 名称 | 描述 | 3255| -------- | -------- | 3256| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 | 3257| audioRenderer | 指向输出音频流实例的指针,将被用来接收函数创建的结果。 | 3258 3259**返回:** 3260 3261函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 3262 3263AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 3264 3265AUDIOSTREAM_ERROR_INVALID_PARAM: 3266 3267 1. 参数builder为nullptr; 3268 2. StreamType无效; 3269 3. 创建OHAudioRenderer失败。 3270 3271 3272### OH_AudioStreamBuilder_SetCapturerCallback() 3273 3274``` 3275OH_AudioStream_Result OH_AudioStreamBuilder_SetCapturerCallback(OH_AudioStreamBuilder *builder, OH_AudioCapturer_Callbacks callbacks, void *userData) 3276``` 3277**描述** 3278设置输入音频流的回调。 3279 3280**起始版本:** 10 3281 3282**系统能力:** SystemCapability.Multimedia.Audio.Core 3283 3284**参数:** 3285 3286| 名称 | 描述 | 3287| -------- | -------- | 3288| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 | 3289| callbacks | 将被用来处理输入音频流相关事件的回调函数。 | 3290| userData | 指向通过回调函数传递的应用数据指针。 | 3291 3292**返回:** 3293 3294函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 3295 3296AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 3297 3298AUDIOSTREAM_ERROR_INVALID_PARAM: 3299 3300 1. 参数builder为nullptr; 3301 2. StreamType无效。 3302 3303 3304### OH_AudioStreamBuilder_SetCapturerInfo() 3305 3306``` 3307OH_AudioStream_Result OH_AudioStreamBuilder_SetCapturerInfo(OH_AudioStreamBuilder *builder, OH_AudioStream_SourceType sourceType) 3308``` 3309**描述** 3310设置输入音频流的工作场景。 3311 3312**起始版本:** 10 3313 3314**系统能力:** SystemCapability.Multimedia.Audio.Core 3315 3316**参数:** 3317 3318| 名称 | 描述 | 3319| -------- | -------- | 3320| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 | 3321| sourceType | 输入音频流属性,使用的工作场景。 | 3322 3323**返回:** 3324 3325函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 3326 3327AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 3328 3329AUDIOSTREAM_ERROR_INVALID_PARAM: 3330 3331 1. 参数builder为nullptr; 3332 2. 参数sourceType无效。 3333 3334 3335### OH_AudioStreamBuilder_SetChannelCount() 3336 3337``` 3338OH_AudioStream_Result OH_AudioStreamBuilder_SetChannelCount(OH_AudioStreamBuilder *builder, int32_t channelCount) 3339``` 3340**描述** 3341设置音频流的通道数属性。 3342 3343**起始版本:** 10 3344 3345**系统能力:** SystemCapability.Multimedia.Audio.Core 3346 3347**参数:** 3348 3349| 名称 | 描述 | 3350| -------- | -------- | 3351| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 | 3352| channelCount | 音频流通道数。 | 3353 3354**返回:** 3355 3356函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 3357 3358AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 3359 3360AUDIOSTREAM_ERROR_INVALID_PARAM: 3361 3362 1. 参数builder为nullptr; 3363 2. 参数channelCount无效。 3364 3365 3366### OH_AudioStreamBuilder_SetChannelLayout() 3367 3368``` 3369OH_AudioStream_Result OH_AudioStreamBuilder_SetChannelLayout(OH_AudioStreamBuilder *builder, OH_AudioChannelLayout channelLayout) 3370``` 3371**描述** 3372设置音频流的声道布局。 3373 3374**起始版本:** 12 3375 3376**系统能力:** SystemCapability.Multimedia.Audio.Core 3377 3378**参数:** 3379 3380| 名称 | 描述 | 3381| -------- | -------- | 3382| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 | 3383| channelLayout | 音频流声道布局,具体参考[OH_AudioChannelLayout](../apis-avcodec-kit/_core.md#oh_audiochannellayout-1)。 | 3384 3385**返回:** 3386 3387函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 3388 3389AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 3390 3391AUDIOSTREAM_ERROR_INVALID_PARAM:参数builder为nullptr。 3392 3393 3394### OH_AudioStreamBuilder_SetEncodingType() 3395 3396``` 3397OH_AudioStream_Result OH_AudioStreamBuilder_SetEncodingType(OH_AudioStreamBuilder *builder, OH_AudioStream_EncodingType encodingType) 3398``` 3399**描述** 3400设置音频流的编码类型属性。 3401 3402**起始版本:** 10 3403 3404**系统能力:** SystemCapability.Multimedia.Audio.Core 3405 3406**参数:** 3407 3408| 名称 | 描述 | 3409| -------- | -------- | 3410| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 | 3411| encodingType | 音频流编码类型。 | 3412 3413**返回:** 3414 3415函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 3416 3417AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 3418 3419AUDIOSTREAM_ERROR_INVALID_PARAM:参数builder为nullptr。 3420 3421### OH_AudioStreamBuilder_SetFrameSizeInCallback() 3422 3423``` 3424OH_AudioStream_Result OH_AudioStreamBuilder_SetFrameSizeInCallback(OH_AudioStreamBuilder *builder, int32_t frameSize) 3425``` 3426**描述** 3427用于播放时设置每次回调的帧长,帧长至少为音频硬件一次处理的数据大小,并且小于内部缓冲容量的一半。 3428 3429- 低时延播放:frameSize可设置为5ms、10ms、15ms、20ms音频数据对应的帧长。 3430- 普通通路播放:frameSize可设置为20ms-100ms音频数据对应的帧长。 3431 3432**起始版本:** 11 3433 3434**系统能力:** SystemCapability.Multimedia.Audio.Core 3435 3436**参数:** 3437 3438| 名称 | 描述 | 3439| -------- | -------- | 3440| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 | 3441| frameSize | 要设置音频数据的帧长。 | 3442 3443**返回:** 3444 3445函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 3446 3447AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 3448 3449AUDIOSTREAM_ERROR_INVALID_PARAM:参数builder为nullptr。 3450 3451 3452### OH_AudioStreamBuilder_SetLatencyMode() 3453 3454``` 3455OH_AudioStream_Result OH_AudioStreamBuilder_SetLatencyMode(OH_AudioStreamBuilder *builder, OH_AudioStream_LatencyMode latencyMode) 3456``` 3457**描述** 3458设置音频流的时延模式。 3459 3460**起始版本:** 10 3461 3462**系统能力:** SystemCapability.Multimedia.Audio.Core 3463 3464**参数:** 3465 3466| 名称 | 描述 | 3467| -------- | -------- | 3468| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 | 3469| latencyMode | 音频流时延模式。 | 3470 3471**返回:** 3472 3473函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 3474 3475AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 3476 3477AUDIOSTREAM_ERROR_INVALID_PARAM:参数builder为nullptr。 3478 3479 3480### OH_AudioStreamBuilder_SetRendererCallback() 3481 3482``` 3483OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererCallback(OH_AudioStreamBuilder *builder, OH_AudioRenderer_Callbacks callbacks, void *userData) 3484``` 3485**描述** 3486设置输出音频流的回调。 3487 3488**起始版本:** 10 3489 3490**系统能力:** SystemCapability.Multimedia.Audio.Core 3491 3492**参数:** 3493 3494| 名称 | 描述 | 3495| -------- | -------- | 3496| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 | 3497| callbacks | 将被用来处理输出音频流相关事件的回调函数。 | 3498| userData | 指向通过回调函数传递的应用数据指针。 | 3499 3500**返回:** 3501 3502函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 3503 3504AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 3505 3506AUDIOSTREAM_ERROR_INVALID_PARAM: 3507 3508 1. 参数builder为nullptr; 3509 2. StreamType无效。 3510 3511 3512### OH_AudioStreamBuilder_SetRendererInfo() 3513 3514``` 3515OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererInfo(OH_AudioStreamBuilder *builder, OH_AudioStream_Usage usage) 3516``` 3517**描述** 3518设置输出音频流的工作场景。 3519 3520**起始版本:** 10 3521 3522**系统能力:** SystemCapability.Multimedia.Audio.Core 3523 3524**参数:** 3525 3526| 名称 | 描述 | 3527| -------- | -------- | 3528| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 | 3529| usage | 输出音频流属性,使用的工作场景。 | 3530 3531**返回:** 3532 3533函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 3534 3535AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 3536 3537AUDIOSTREAM_ERROR_INVALID_PARAM: 3538 3539 1. 参数builder为nullptr; 3540 2. 参数usage无效。 3541 3542 3543### OH_AudioStreamBuilder_SetRendererInterruptMode() 3544 3545``` 3546OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererInterruptMode(OH_AudioStreamBuilder *builder, OH_AudioInterrupt_Mode mode) 3547``` 3548**描述** 3549设置流客户端的中断模式。 3550 3551**起始版本:** 12 3552 3553**系统能力:** SystemCapability.Multimedia.Audio.Core 3554 3555**参数:** 3556 3557| 名称 | 描述 | 3558| -------- | -------- | 3559| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 | 3560| mode | 音频中断模式[OH_AudioInterrupt_Mode](#oh_audiointerrupt_mode)。 | 3561 3562**返回:** 3563 3564函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 3565 3566AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 3567 3568AUDIOSTREAM_ERROR_INVALID_PARAM: 3569 3570 1. 参数builder为nullptr; 3571 2. 参数mode无效; 3572 3. StreamType无效。 3573 3574 3575### OH_AudioStreamBuilder_SetRendererOutputDeviceChangeCallback() 3576 3577``` 3578OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererOutputDeviceChangeCallback(OH_AudioStreamBuilder * builder, OH_AudioRenderer_OutputDeviceChangeCallback callback, void * userData) 3579``` 3580**描述** 3581设置输出音频流设备变更的回调。 3582 3583**起始版本:** 11 3584 3585**系统能力:** SystemCapability.Multimedia.Audio.Core 3586 3587**参数:** 3588 3589| 名称 | 描述 | 3590| -------- | -------- | 3591| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 | 3592| callbacks | 将被用来处理输出流设备变更相关事件的回调函数。 | 3593| userData | 指向通过回调函数传递的应用数据指针。 | 3594 3595**返回:** 3596 3597函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 3598 3599AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 3600 3601AUDIOSTREAM_ERROR_INVALID_PARAM: 3602 3603 1. 参数builder为nullptr; 3604 2. StreamType无效。 3605 3606 3607### OH_AudioStreamBuilder_SetRendererPrivacy() 3608 3609``` 3610OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererPrivacy(OH_AudioStreamBuilder * builder, OH_AudioStream_PrivacyType privacy) 3611``` 3612**描述** 3613设置当前播放音频流是否会被其它应用录制。 3614 3615**起始版本:** 12 3616 3617**系统能力:** SystemCapability.Multimedia.Audio.Core 3618 3619**参数:** 3620 3621| 名称 | 描述 | 3622| -------- | -------- | 3623| builder | 指向[OH_AudioStreamBuilder_Create()](#oh_audiostreambuilder_create)创建的构造器实例。 | 3624| privacy | 标识对应播放音频流是否会被其它应用录制。 | 3625 3626**返回:** 3627 3628函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 3629 3630AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 3631 3632AUDIOSTREAM_ERROR_INVALID_PARAM: 3633 3634 1. 参数builder为nullptr; 3635 2. StreamType无效。 3636 3637 3638### OH_AudioStreamBuilder_SetRendererWriteDataCallback() 3639 3640``` 3641OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererWriteDataCallback(OH_AudioStreamBuilder *builder, OH_AudioRenderer_OnWriteDataCallback callback, void *userData) 3642``` 3643**描述** 3644设置写入音频数据的回调。 3645 3646该函数类似于 [OH_AudioStreamBuilder_SetRendererCallback](#oh_audiostreambuilder_setrenderercallback)。只有通过 OH_AudioStreamBuilder_SetRendererCallback或者此函数设置的最后一个回调函数才会被调用。 3647 3648**起始版本:** 12 3649 3650**系统能力:** SystemCapability.Multimedia.Audio.Core 3651 3652**参数:** 3653 3654| 名称 | 描述 | 3655| -------- | -------- | 3656| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 | 3657| callback | 将被用来写入音频数据的回调函数。 | 3658| userData | 指向通过回调函数传递的应用数据指针。 | 3659 3660**返回:** 3661 3662函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 3663 3664AUDIOSTREAM_SUCCESS:函数执行成功。 3665 3666AUDIOSTREAM_ERROR_INVALID_PARAM: 3667 3668 1. 参数builder为nullptr; 3669 2. StreamType无效。 3670 3671 3672### OH_AudioStreamBuilder_SetSampleFormat() 3673 3674``` 3675OH_AudioStream_Result OH_AudioStreamBuilder_SetSampleFormat(OH_AudioStreamBuilder *builder, OH_AudioStream_SampleFormat format) 3676``` 3677**描述** 3678设置音频流的采样格式属性。 3679 3680**起始版本:** 10 3681 3682**系统能力:** SystemCapability.Multimedia.Audio.Core 3683 3684**参数:** 3685 3686| 名称 | 描述 | 3687| -------- | -------- | 3688| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 | 3689| format | 音频流采样格式。 | 3690 3691**返回:** 3692 3693函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 3694 3695AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 3696 3697AUDIOSTREAM_ERROR_INVALID_PARAM:参数builder为nullptr。 3698 3699 3700### OH_AudioStreamBuilder_SetSamplingRate() 3701 3702``` 3703OH_AudioStream_Result OH_AudioStreamBuilder_SetSamplingRate(OH_AudioStreamBuilder *builder, int32_t rate) 3704``` 3705**描述** 3706设置音频流的采样率属性。 3707 3708**起始版本:** 10 3709 3710**系统能力:** SystemCapability.Multimedia.Audio.Core 3711 3712**参数:** 3713 3714| 名称 | 描述 | 3715| -------- | -------- | 3716| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 | 3717| channelCount | 音频流采样率。 | 3718 3719**返回:** 3720 3721函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 3722 3723AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 3724 3725AUDIOSTREAM_ERROR_INVALID_PARAM: 3726 3727 1. 参数builder为nullptr; 3728 2. 参数rate无效。 3729 3730 3731### OH_AudioStreamBuilder_SetWriteDataWithMetadataCallback() 3732 3733``` 3734OH_AudioStream_Result OH_AudioStreamBuilder_SetWriteDataWithMetadataCallback(OH_AudioStreamBuilder *builder, OH_AudioRenderer_WriteDataWithMetadataCallback callback, void *userData) 3735``` 3736**描述** 3737设置同时写入音频数据和元数据的回调。 3738 3739**起始版本:** 12 3740 3741**系统能力:** SystemCapability.Multimedia.Audio.Core 3742 3743**参数:** 3744 3745| 名称 | 描述 | 3746| -------- | -------- | 3747| builder | 指向OH_AudioStreamBuilder_Create()创建的构造器实例。 | 3748| callback | 将被用来同时写入音频数据和元数据的回调函数。 | 3749| userData | 指向通过回调函数传递的应用数据指针。 | 3750 3751**返回:** 3752 3753函数返回值[OH_AudioStream_Result](#oh_audiostream_result): 3754 3755AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 3756 3757AUDIOSTREAM_ERROR_INVALID_PARAM: 3758 3759 1. 参数builder为nullptr; 3760 2. StreamType无效。 3761 3762 3763### OH_GetAudioManager() 3764 3765``` 3766OH_AudioCommon_Result OH_GetAudioManager(OH_AudioManager ** audioManager) 3767``` 3768**描述** 3769获取音频管理器。 3770 3771使用音频管理器相关功能,首先需要获取音频管理器实例。 3772 3773**起始版本:** 12 3774 3775**参数:** 3776 3777| 名称 | 描述 | 3778| -------- | -------- | 3779| audioManager | 指向[OH_AudioManager](#oh_audiomanager)用于接收创建的音频管理器实例。 | 3780 3781**返回:** 3782 3783函数返回值[OH_AudioCommon_Result](#oh_audiocommon_result): 3784 3785AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 3786 3787AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数audioManager为nullptr。 3788 3789 3790### OH_GetAudioScene() 3791 3792``` 3793OH_AudioCommon_Result OH_GetAudioScene(OH_AudioManager * manager, OH_AudioScene * scene) 3794``` 3795**描述** 3796获取音频场景模式。 3797 3798**起始版本:** 12 3799 3800**参数:** 3801 3802| 名称 | 描述 | 3803| -------- | -------- | 3804| audioManager | 指向[OH_GetAudioManager](#oh_getaudiomanager)创建的音频管理器实例:[OH_AudioManager](#oh_audiomanager)。 | 3805| scene | 指向[OH_AudioScene](#oh_audioscene)用于接收返回的音频场景模式。 | 3806 3807**返回:** 3808 3809函数返回值[OH_AudioCommon_Result](#oh_audiocommon_result): 3810 3811AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 3812 3813AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM: 3814 38151. 参数audioManager为nullptr; 38162. 参数scene为nullptr。 3817