1# native_audio_manager.h 2<!--Kit: Audio Kit--> 3<!--Subsystem: Multimedia--> 4<!--Owner: @songshenke--> 5<!--Designer: @caixuejiang; @hao-liangfei; @zhanganxiang--> 6<!--Tester: @Filger--> 7<!--Adviser: @zengyawen--> 8 9## 概述 10 11声明音频管理相关的接口。 12 13**引用文件:** <ohaudio/native_audio_manager.h> 14 15**库:** libohaudio.so 16 17**系统能力:** SystemCapability.Multimedia.Audio.Core 18 19**起始版本:** 12 20 21**相关模块:** [OHAudio](capi-ohaudio.md) 22 23## 汇总 24 25### 结构体 26 27| 名称 | typedef关键字 | 描述 | 28| -- | -- | -- | 29| [OH_AudioManager](capi-ohaudio-oh-audiomanager.md) | OH_AudioManager | 声明音频管理器。用于管理音频管理相关功能。 | 30 31### 函数 32 33| 名称 | typedef关键字 | 描述 | 34| -- | -- | -- | 35| [typedef void (\*OH_AudioManager_OnAudioSceneChangeCallback)(void *userData, OH_AudioScene scene)](#oh_audiomanager_onaudioscenechangecallback) | OH_AudioManager_OnAudioSceneChangeCallback | 音频场景变化回调函数的原型定义,用于传递给[OH_AudioManager_RegisterAudioSceneChangeCallback](capi-native-audio-manager-h.md#oh_audiomanager_registeraudioscenechangecallback)。 | 36| [OH_AudioCommon_Result OH_GetAudioManager(OH_AudioManager **audioManager)](#oh_getaudiomanager) | - | 获取音频管理器。<br> 使用音频管理器相关功能,首先需要获取音频管理器实例。 | 37| [OH_AudioCommon_Result OH_GetAudioScene(OH_AudioManager* manager, OH_AudioScene *scene)](#oh_getaudioscene) | - | 获取音频场景模式。 | 38| [OH_AudioCommon_Result OH_AudioManager_RegisterAudioSceneChangeCallback(OH_AudioManager *manager, OH_AudioManager_OnAudioSceneChangeCallback callback, void *userData)](#oh_audiomanager_registeraudioscenechangecallback) | - | 注册音频场景切换回调函数。 | 39| [OH_AudioCommon_Result OH_AudioManager_UnregisterAudioSceneChangeCallback(OH_AudioManager *manager, OH_AudioManager_OnAudioSceneChangeCallback callback)](#oh_audiomanager_unregisteraudioscenechangecallback) | - | 取消注册音频场景切换回调函数。 | 40 41## 函数说明 42 43### OH_AudioManager_OnAudioSceneChangeCallback() 44 45``` 46typedef void (*OH_AudioManager_OnAudioSceneChangeCallback) (void *userData, OH_AudioScene scene) 47``` 48 49**描述** 50 51音频场景变化回调函数的原型定义,用于传递给[OH_AudioManager_RegisterAudioSceneChangeCallback](capi-native-audio-manager-h.md#oh_audiomanager_registeraudioscenechangecallback)。 52 53**起始版本:** 20 54 55 56**参数:** 57 58| 参数项 | 描述 | 59| -- | -- | 60| void *userData | 用户自定义数据指针。 | 61| [OH_AudioScene](capi-native-audio-common-h.md#oh_audioscene) scene | 切换后的音频场景。 | 62 63### OH_GetAudioManager() 64 65``` 66OH_AudioCommon_Result OH_GetAudioManager(OH_AudioManager **audioManager) 67``` 68 69**描述** 70 71获取音频管理器。<br> 使用音频管理器相关功能,首先需要获取音频管理器实例。 72 73**起始版本:** 12 74 75 76**参数:** 77 78| 参数项 | 描述 | 79| -- | -- | 80| [OH_AudioManager](capi-ohaudio-oh-audiomanager.md) **audioManager | 指向[OH_AudioManager](capi-ohaudio-oh-audiomanager.md)用于接收创建的音频管理器实例。 | 81 82**返回:** 83 84| 类型 | 说明 | 85| -- | -- | 86| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。<br> AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数audioManager为nullptr。 | 87 88### OH_GetAudioScene() 89 90``` 91OH_AudioCommon_Result OH_GetAudioScene(OH_AudioManager* manager, OH_AudioScene *scene) 92``` 93 94**描述** 95 96获取音频场景模式。 97 98**起始版本:** 12 99 100 101**参数:** 102 103| 参数项 | 描述 | 104| -- | -- | 105| [OH_AudioManager](capi-ohaudio-oh-audiomanager.md)* manager | 指向[OH_GetAudioManager](capi-native-audio-manager-h.md#oh_getaudiomanager)创建的音频管理器实例:[OH_AudioManager](capi-ohaudio-oh-audiomanager.md)。 | 106| [OH_AudioScene](capi-native-audio-common-h.md#oh_audioscene) *scene | 指向[OH_AudioScene](capi-native-audio-common-h.md#oh_audioscene)用于接收返回的音频场景模式。 | 107 108**返回:** 109 110| 类型 | 说明 | 111| -- | -- | 112| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。<br> AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:<br> 1.参数audioManager为nullptr;<br> 2.参数scene为nullptr。 | 113 114### OH_AudioManager_RegisterAudioSceneChangeCallback() 115 116``` 117OH_AudioCommon_Result OH_AudioManager_RegisterAudioSceneChangeCallback(OH_AudioManager *manager,OH_AudioManager_OnAudioSceneChangeCallback callback, void *userData) 118``` 119 120**描述** 121 122注册音频场景切换回调函数。 123 124**起始版本:** 20 125 126 127**参数:** 128 129| 参数项 | 描述 | 130| -- | -- | 131| [OH_AudioManager](capi-ohaudio-oh-audiomanager.md) *manager | 指向[OH_AudioManager](capi-ohaudio-oh-audiomanager.md)用于接收创建的音频管理器实例。 | 132| [OH_AudioManager_OnAudioSceneChangeCallback](capi-native-audio-manager-h.md#oh_audiomanager_onaudioscenechangecallback) callback | 当音频场景切换时,将调用此回调函数[OH_AudioManager_OnAudioSceneChangeCallback](capi-native-audio-manager-h.md#oh_audiomanager_onaudioscenechangecallback)。 | 133| void *userData | 用户自定义数据指针。 | 134 135**返回:** 136 137| 类型 | 说明 | 138| -- | -- | 139| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。<br> AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:<br> 1.参数manager为nullptr;<br> 2.参数callback为nullptr。<br> AUDIOCOMMON_RESULT_ERROR_SYSTEM:系统错误。 | 140 141### OH_AudioManager_UnregisterAudioSceneChangeCallback() 142 143``` 144OH_AudioCommon_Result OH_AudioManager_UnregisterAudioSceneChangeCallback(OH_AudioManager *manager,OH_AudioManager_OnAudioSceneChangeCallback callback) 145``` 146 147**描述** 148 149取消注册音频场景切换回调函数。 150 151**起始版本:** 20 152 153 154**参数:** 155 156| 参数项 | 描述 | 157| -- | -- | 158| [OH_AudioManager](capi-ohaudio-oh-audiomanager.md) *manager | 指向[OH_AudioManager](capi-ohaudio-oh-audiomanager.md)用于接收创建的音频管理器实例。 | 159| [OH_AudioManager_OnAudioSceneChangeCallback](capi-native-audio-manager-h.md#oh_audiomanager_onaudioscenechangecallback) callback | 指向[OH_AudioManager_OnAudioSceneChangeCallback](capi-native-audio-manager-h.md#oh_audiomanager_onaudioscenechangecallback)传入的回调函数,用于取消注册。 | 160 161**返回:** 162 163| 类型 | 说明 | 164| -- | -- | 165| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。<br> AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:<br> 1.参数manager为nullptr;<br> 2.参数callback为nullptr。<br> AUDIOCOMMON_RESULT_ERROR_SYSTEM:系统错误。 | 166 167 168