1# native_audio_routing_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声明与音频路由管理器相关的接口。<br> 包含用于创建audioRoutingManager,设备连接状态发生变化时的注册和注销功能,以及存储设备信息的指针数组的释放。 12 13**引用文件:** <ohaudio/native_audio_routing_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_AudioRoutingManager](capi-ohaudio-oh-audioroutingmanager.md) | OH_AudioRoutingManager | 声明音频路由管理器,用于路由和设备相关功能的音频路由管理器的句柄。 | 30 31### 函数 32 33| 名称 | typedef关键字 | 描述 | 34| -- | -- | -- | 35| [typedef int32_t (\*OH_AudioRoutingManager_OnDeviceChangedCallback)(OH_AudioDevice_ChangeType type, OH_AudioDeviceDescriptorArray *audioDeviceDescriptorArray)](#oh_audioroutingmanager_ondevicechangedcallback) | OH_AudioRoutingManager_OnDeviceChangedCallback | 此函数指针将指向用于返回更改的音频设备描述符的回调函数,可能返回多个音频设备描述符。 | 36| [OH_AudioCommon_Result OH_AudioManager_GetAudioRoutingManager(OH_AudioRoutingManager **audioRoutingManager)](#oh_audiomanager_getaudioroutingmanager) | - | 查询音频路由管理器句柄,该句柄应设置为路由相关函数中的第一个参数。 | 37| [OH_AudioCommon_Result OH_AudioRoutingManager_GetDevices(OH_AudioRoutingManager *audioRoutingManager, OH_AudioDevice_Flag deviceFlag, OH_AudioDeviceDescriptorArray **audioDeviceDescriptorArray)](#oh_audioroutingmanager_getdevices) | - | 根据输入的deviceFlag查询可用的设备。 | 38| [OH_AudioCommon_Result OH_AudioRoutingManager_GetAvailableDevices(OH_AudioRoutingManager *audioRoutingManager, OH_AudioDevice_Usage deviceUsage, OH_AudioDeviceDescriptorArray **audioDeviceDescriptorArray)](#oh_audioroutingmanager_getavailabledevices) | - | 获取音频可选设备列表。 | 39| [OH_AudioCommon_Result OH_AudioRoutingManager_GetPreferredOutputDevice(OH_AudioRoutingManager *audioRoutingManager, OH_AudioStream_Usage streamUsage, OH_AudioDeviceDescriptorArray **audioDeviceDescriptorArray)](#oh_audioroutingmanager_getpreferredoutputdevice) | - | 根据音频输出流的使用场景,获取优先级最高的输出设备。 | 40| [OH_AudioCommon_Result OH_AudioRoutingManager_GetPreferredInputDevice(OH_AudioRoutingManager *audioRoutingManager, OH_AudioStream_SourceType sourceType, OH_AudioDeviceDescriptorArray **audioDeviceDescriptorArray)](#oh_audioroutingmanager_getpreferredinputdevice) | - | 根据音频输入流的使用场景,获取优先级最高的输入设备。 | 41| [OH_AudioCommon_Result OH_AudioRoutingManager_RegisterDeviceChangeCallback(OH_AudioRoutingManager *audioRoutingManager, OH_AudioDevice_Flag deviceFlag, OH_AudioRoutingManager_OnDeviceChangedCallback callback)](#oh_audioroutingmanager_registerdevicechangecallback) | - | 注册音频路由管理器的设备更改回调。 | 42| [OH_AudioCommon_Result OH_AudioRoutingManager_UnregisterDeviceChangeCallback(OH_AudioRoutingManager *audioRoutingManager, OH_AudioRoutingManager_OnDeviceChangedCallback callback)](#oh_audioroutingmanager_unregisterdevicechangecallback) | - | 取消注册音频路由管理器的设备更改回调。 | 43| [OH_AudioCommon_Result OH_AudioRoutingManager_ReleaseDevices(OH_AudioRoutingManager *audioRoutingManager, OH_AudioDeviceDescriptorArray *audioDeviceDescriptorArray)](#oh_audioroutingmanager_releasedevices) | - | 释放音频设备描述符数组对象。 | 44| [typedef void (\*OH_AudioRoutingManager_OnDeviceBlockStatusCallback)(OH_AudioDeviceDescriptorArray *audioDeviceDescriptorArray, OH_AudioDevice_BlockStatus status, void *userData)](#oh_audioroutingmanager_ondeviceblockstatuscallback) | OH_AudioRoutingManager_OnDeviceBlockStatusCallback | 此函数指针将指向用于返回音频设备堵塞状态的回调函数,可能返回多个音频设备描述符。 | 45| [OH_AudioCommon_Result OH_AudioRoutingManager_IsMicBlockDetectionSupported(OH_AudioRoutingManager *audioRoutingManager, bool *supported)](#oh_audioroutingmanager_ismicblockdetectionsupported) | - | 查询当前设备是否支持麦克风堵塞状态检测。 | 46| [OH_AudioCommon_Result OH_AudioRoutingManager_SetMicBlockStatusCallback(OH_AudioRoutingManager *audioRoutingManager, OH_AudioRoutingManager_OnDeviceBlockStatusCallback callback, void *userData)](#oh_audioroutingmanager_setmicblockstatuscallback) | - | 设置麦克风是否堵塞状态回调。<br>在使用此功能之前,用户应查询当前设备是否支持检测,应用只有在使用麦克风录音时,并且所使用的麦克风的堵塞状态发生改变,才会收到回调,目前此检测功能仅支持麦克风位于本地设备上。 | 47 48## 函数说明 49 50### OH_AudioRoutingManager_OnDeviceChangedCallback() 51 52``` 53typedef int32_t (*OH_AudioRoutingManager_OnDeviceChangedCallback)(OH_AudioDevice_ChangeType type, OH_AudioDeviceDescriptorArray *audioDeviceDescriptorArray 54) 55``` 56 57**描述** 58 59此函数指针将指向用于返回更改的音频设备描述符的回调函数,可能返回多个音频设备描述符。 60 61**起始版本:** 12 62 63 64**参数:** 65 66| 参数项 | 描述 | 67| -- | -- | 68| [OH_AudioDevice_ChangeType](capi-native-audio-device-base-h.md#oh_audiodevice_changetype) type | 设备连接状态类型。 [OH_AudioDevice_ChangeType](capi-native-audio-device-base-h.md#oh_audiodevice_changetype) 已连接或断开。 | 69| [OH_AudioDeviceDescriptorArray](capi-ohaudio-oh-audiodevicedescriptorarray.md) *audioDeviceDescriptorArray | 音频设备描述符数组,指向[OH_AudioDeviceDescriptorArray](capi-ohaudio-oh-audiodevicedescriptorarray.md)设置音频设备描述符值的指针变量,不要单独释放audioDeviceDescriptorArray指针,而是调用[OH_AudioRoutingManager_ReleaseDevices](#oh_audioroutingmanager_releasedevices)来释放DeviceDescriptor数组。 | 70 71### OH_AudioManager_GetAudioRoutingManager() 72 73``` 74OH_AudioCommon_Result OH_AudioManager_GetAudioRoutingManager(OH_AudioRoutingManager **audioRoutingManager) 75``` 76 77**描述** 78 79查询音频路由管理器句柄,该句柄应设置为路由相关函数中的第一个参数。 80 81**起始版本:** 12 82 83 84**参数:** 85 86| 参数项 | 描述 | 87| -- | -- | 88| [OH_AudioRoutingManager](capi-ohaudio-oh-audioroutingmanager.md) **audioRoutingManager | 音频路由管理器句柄。通过[OH_AudioManager_GetAudioRoutingManager](#oh_audiomanager_getaudioroutingmanager)获取句柄。 | 89 90**返回:** 91 92| 类型 | 说明 | 93| -- | -- | 94| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。 | 95 96### OH_AudioRoutingManager_GetDevices() 97 98``` 99OH_AudioCommon_Result OH_AudioRoutingManager_GetDevices(OH_AudioRoutingManager *audioRoutingManager, OH_AudioDevice_Flag deviceFlag, OH_AudioDeviceDescriptorArray **audioDeviceDescriptorArray) 100``` 101 102**描述** 103 104根据输入的deviceFlag查询可用的设备。 105 106**起始版本:** 12 107 108 109**参数:** 110 111| 参数项 | 描述 | 112| -- | -- | 113| [OH_AudioRoutingManager](capi-ohaudio-oh-audioroutingmanager.md) *audioRoutingManager | 音频路由管理器句柄。通过[OH_AudioManager_GetAudioRoutingManager](#oh_audiomanager_getaudioroutingmanager)获取句柄。 | 114| [OH_AudioDevice_Flag](capi-native-audio-device-base-h.md#oh_audiodevice_flag) deviceFlag | 音频设备标志,用于选择目标设备的滤波器参数。 | 115| [OH_AudioDeviceDescriptorArray](capi-ohaudio-oh-audiodevicedescriptorarray.md) **audioDeviceDescriptorArray | 音频设备描述符数组。设置音频设备描述符值的指针变量,不要单独释放audioDeviceDescriptorArray指针,而是调用[OH_AudioRoutingManager_ReleaseDevices](#oh_audioroutingmanager_releasedevices)来释放DeviceDescriptor数组。 | 116 117**返回:** 118 119| 类型 | 说明 | 120| -- | -- | 121| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。<br> AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:<br> 1. 参数audioRoutingManager为nullptr;<br> 2. 参数deviceFlag无效;<br> 3. 参数audioDeviceDescriptorArray为nullptr。<br> AUDIOCOMMON_RESULT_ERROR_NO_MEMORY:内存不足。 | 122 123### OH_AudioRoutingManager_GetAvailableDevices() 124 125``` 126OH_AudioCommon_Result OH_AudioRoutingManager_GetAvailableDevices(OH_AudioRoutingManager *audioRoutingManager, OH_AudioDevice_Usage deviceUsage, OH_AudioDeviceDescriptorArray **audioDeviceDescriptorArray) 127``` 128 129**描述** 130 131获取音频可选设备列表。 132 133**起始版本:** 12 134 135 136**参数:** 137 138| 参数项 | 描述 | 139| -- | -- | 140| [OH_AudioRoutingManager](capi-ohaudio-oh-audioroutingmanager.md) *audioRoutingManager | 音频路由管理器句柄。通过[OH_AudioManager_GetAudioRoutingManager](#oh_audiomanager_getaudioroutingmanager)获取句柄。 | 141| [OH_AudioDevice_Usage](capi-native-audio-device-base-h.md#oh_audiodevice_usage) deviceUsage | 指向[OH_AudioDevice_Usage](capi-native-audio-device-base-h.md#oh_audiodevice_usage)用于设置要获取的设备种类。 | 142| [OH_AudioDeviceDescriptorArray](capi-ohaudio-oh-audiodevicedescriptorarray.md) **audioDeviceDescriptorArray | 音频设备描述符数组。设置音频设备描述符值的指针变量,不要单独释放audioDeviceDescriptorArray指针,而是调用[OH_AudioRoutingManager_ReleaseDevices](#oh_audioroutingmanager_releasedevices)来释放DeviceDescriptor数组。 | 143 144**返回:** 145 146| 类型 | 说明 | 147| -- | -- | 148| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。<br> AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:<br> 1.参数audioRoutingManager为nullptr;<br> 2.参数deviceUsage无效;<br> 3.参数audioDeviceDescriptorArray为nullptr。<br> AUDIOCOMMON_RESULT_ERROR_NO_MEMORY:内存不足。 | 149 150### OH_AudioRoutingManager_GetPreferredOutputDevice() 151 152``` 153OH_AudioCommon_Result OH_AudioRoutingManager_GetPreferredOutputDevice(OH_AudioRoutingManager *audioRoutingManager, OH_AudioStream_Usage streamUsage, OH_AudioDeviceDescriptorArray **audioDeviceDescriptorArray) 154``` 155 156**描述** 157 158根据音频输出流的使用场景,获取优先级最高的输出设备。 159 160**起始版本:** 12 161 162 163**参数:** 164 165| 参数项 | 描述 | 166| -- | -- | 167| [OH_AudioRoutingManager](capi-ohaudio-oh-audioroutingmanager.md) *audioRoutingManager | 音频路由管理器句柄。通过[OH_AudioManager_GetAudioRoutingManager](#oh_audiomanager_getaudioroutingmanager)获取句柄。 | 168| [OH_AudioStream_Usage](capi-native-audiostream-base-h.md#oh_audiostream_usage) streamUsage | 指向[OH_AudioStream_Usage](capi-native-audiostream-base-h.md#oh_audiostream_usage)用于设置音频输出流的使用场景。 | 169| [OH_AudioDeviceDescriptorArray](capi-ohaudio-oh-audiodevicedescriptorarray.md) **audioDeviceDescriptorArray | 音频设备描述符数组。设置音频设备描述符值的指针变量,不要单独释放audioDeviceDescriptorArray指针,而是调用[OH_AudioRoutingManager_ReleaseDevices](#oh_audioroutingmanager_releasedevices)来释放DeviceDescriptor数组。 | 170 171**返回:** 172 173| 类型 | 说明 | 174| -- | -- | 175| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。<br> AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:<br> 1.参数audioRoutingManager为nullptr;<br> 2.参数streamUsage无效;<br> 3.参数audioDeviceDescriptorArray为nullptr。<br> AUDIOCOMMON_RESULT_ERROR_NO_MEMORY:内存不足。 | 176 177### OH_AudioRoutingManager_GetPreferredInputDevice() 178 179``` 180OH_AudioCommon_Result OH_AudioRoutingManager_GetPreferredInputDevice(OH_AudioRoutingManager *audioRoutingManager, OH_AudioStream_SourceType sourceType, OH_AudioDeviceDescriptorArray **audioDeviceDescriptorArray) 181``` 182 183**描述** 184 185根据音频输入流的使用场景,获取优先级最高的输入设备。 186 187**起始版本:** 12 188 189 190**参数:** 191 192| 参数项 | 描述 | 193| -- | -- | 194| [OH_AudioRoutingManager](capi-ohaudio-oh-audioroutingmanager.md) *audioRoutingManager | 音频路由管理器句柄。通过[OH_AudioManager_GetAudioRoutingManager](#oh_audiomanager_getaudioroutingmanager)获取句柄。 | 195| [OH_AudioStream_SourceType](capi-native-audiostream-base-h.md#oh_audiostream_sourcetype) sourceType | 指向[OH_AudioStream_SourceType](capi-native-audiostream-base-h.md#oh_audiostream_sourcetype)用于设置音频输入流的使用场景。 | 196| [OH_AudioDeviceDescriptorArray](capi-ohaudio-oh-audiodevicedescriptorarray.md) **audioDeviceDescriptorArray | 音频设备描述符数组。设置音频设备描述符值的指针变量,不要单独释放audioDeviceDescriptorArray指针,而是调用[OH_AudioRoutingManager_ReleaseDevices](#oh_audioroutingmanager_releasedevices)来释放DeviceDescriptor数组。 | 197 198**返回:** 199 200| 类型 | 说明 | 201| -- | -- | 202| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。<br> AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:<br> 1.参数audioRoutingManager为nullptr;<br> 2.参数sourceType无效;<br> 3.参数audioDeviceDescriptorArray为nullptr。<br> AUDIOCOMMON_RESULT_ERROR_NO_MEMORY:内存不足。 | 203 204### OH_AudioRoutingManager_RegisterDeviceChangeCallback() 205 206``` 207OH_AudioCommon_Result OH_AudioRoutingManager_RegisterDeviceChangeCallback(OH_AudioRoutingManager *audioRoutingManager, OH_AudioDevice_Flag deviceFlag, OH_AudioRoutingManager_OnDeviceChangedCallback callback) 208``` 209 210**描述** 211 212注册音频路由管理器的设备更改回调。 213 214**起始版本:** 12 215 216 217**参数:** 218 219| 参数项 | 描述 | 220| -- | -- | 221| [OH_AudioRoutingManager](capi-ohaudio-oh-audioroutingmanager.md) *audioRoutingManager | 音频路由管理器句柄。通过[OH_AudioManager_GetAudioRoutingManager](#oh_audiomanager_getaudioroutingmanager)获取句柄。 | 222| [OH_AudioDevice_Flag](capi-native-audio-device-base-h.md#oh_audiodevice_flag) deviceFlag | 音频设备标志,用来注册回调。 | 223| [OH_AudioRoutingManager_OnDeviceChangedCallback](#oh_audioroutingmanager_ondevicechangedcallback) callback | 函数指针将指向用于返回更改的音频设备描述符的回调函数。 | 224 225**返回:** 226 227| 类型 | 说明 | 228| -- | -- | 229| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。<br> AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:<br> 1. 参数audioRoutingManager为nullptr;<br> 2. 参数deviceFlag无效;<br> 3. 参数callback为nullptr。 | 230 231### OH_AudioRoutingManager_UnregisterDeviceChangeCallback() 232 233``` 234OH_AudioCommon_Result OH_AudioRoutingManager_UnregisterDeviceChangeCallback(OH_AudioRoutingManager *audioRoutingManager, OH_AudioRoutingManager_OnDeviceChangedCallback callback) 235``` 236 237**描述** 238 239取消注册音频路由管理器的设备更改回调。 240 241**起始版本:** 12 242 243 244**参数:** 245 246| 参数项 | 描述 | 247| -- | -- | 248| [OH_AudioRoutingManager](capi-ohaudio-oh-audioroutingmanager.md) *audioRoutingManager | 音频路由管理器句柄。通过[OH_AudioManager_GetAudioRoutingManager](#oh_audiomanager_getaudioroutingmanager)获取句柄。 | 249| [OH_AudioRoutingManager_OnDeviceChangedCallback](#oh_audioroutingmanager_ondevicechangedcallback) callback | 函数指针将指向用于返回更改的音频设备描述符的回调函数。 | 250 251**返回:** 252 253| 类型 | 说明 | 254| -- | -- | 255| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。<br> AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:<br> 1. 参数audioRoutingManager为nullptr;<br> 2. 参数callback为nullptr。 | 256 257### OH_AudioRoutingManager_ReleaseDevices() 258 259``` 260OH_AudioCommon_Result OH_AudioRoutingManager_ReleaseDevices(OH_AudioRoutingManager *audioRoutingManager, OH_AudioDeviceDescriptorArray *audioDeviceDescriptorArray) 261``` 262 263**描述** 264 265释放音频设备描述符数组对象。 266 267**起始版本:** 12 268 269 270**参数:** 271 272| 参数项 | 描述 | 273| -- | -- | 274| [OH_AudioRoutingManager](capi-ohaudio-oh-audioroutingmanager.md) *audioRoutingManager | 音频路由管理器句柄。通过[OH_AudioManager_GetAudioRoutingManager](#oh_audiomanager_getaudioroutingmanager)获取句柄。 | 275| [OH_AudioDeviceDescriptorArray](capi-ohaudio-oh-audiodevicedescriptorarray.md) *audioDeviceDescriptorArray | 音频设备描述符数组应当被释放,获取请调用[OH_AudioRoutingManager_GetDevices](#oh_audioroutingmanager_getdevices)接口。 | 276 277**返回:** 278 279| 类型 | 说明 | 280| -- | -- | 281| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。<br> AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:<br> 1. 参数audioRoutingManager为nullptr;<br> 2. 参数audioDeviceDescriptorArray为nullptr。 | 282 283### OH_AudioRoutingManager_OnDeviceBlockStatusCallback() 284 285``` 286typedef void (*OH_AudioRoutingManager_OnDeviceBlockStatusCallback)(OH_AudioDeviceDescriptorArray *audioDeviceDescriptorArray, OH_AudioDevice_BlockStatus status, void *userData) 287``` 288 289**描述** 290 291此函数指针将指向用于返回音频设备堵塞状态的回调函数,可能返回多个音频设备描述符。 292 293**起始版本:** 13 294 295 296**参数:** 297 298| 参数项 | 描述 | 299| -- | -- | 300| [OH_AudioDeviceDescriptorArray](capi-ohaudio-oh-audiodevicedescriptorarray.md) *audioDeviceDescriptorArray | 音频设备描述符数组应当被释放,获取请调用[OH_AudioRoutingManager_GetDevices](#oh_audioroutingmanager_getdevices)接口。设置音频设备描述符值的指针变量,不要单独释放audioDeviceDescriptorArray指针,而是调用[OH_AudioRoutingManager_ReleaseDevices](#oh_audioroutingmanager_releasedevices)来释放DeviceDescriptor数组。 | 301| [OH_AudioDevice_BlockStatus](capi-native-audio-device-base-h.md#oh_audiodevice_blockstatus) status | 音频设备的堵塞状态。 | 302| void *userData | 用户自定义数据指针。 | 303 304### OH_AudioRoutingManager_IsMicBlockDetectionSupported() 305 306``` 307OH_AudioCommon_Result OH_AudioRoutingManager_IsMicBlockDetectionSupported(OH_AudioRoutingManager *audioRoutingManager, bool *supported) 308``` 309 310**描述** 311 312查询当前设备是否支持麦克风堵塞状态检测。 313 314**起始版本:** 13 315 316 317**参数:** 318 319| 参数项 | 描述 | 320| -- | -- | 321| [OH_AudioRoutingManager](capi-ohaudio-oh-audioroutingmanager.md) *audioRoutingManager | 音频路由管理器句柄。通过[OH_AudioManager_GetAudioRoutingManager](#oh_audiomanager_getaudioroutingmanager)获取句柄。 | 322| bool *supported | 查询当前设备是否支持麦克风堵塞状态检测的结果。true表示支持,false表示不支持。 | 323 324**返回:** 325 326| 类型 | 说明 | 327| -- | -- | 328| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。<br> AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:<br> 1.参数audioRoutingManager为nullptr;<br> 2.参数supported为nullptr。 | 329 330### OH_AudioRoutingManager_SetMicBlockStatusCallback() 331 332``` 333OH_AudioCommon_Result OH_AudioRoutingManager_SetMicBlockStatusCallback(OH_AudioRoutingManager *audioRoutingManager, OH_AudioRoutingManager_OnDeviceBlockStatusCallback callback, void *userData) 334``` 335 336**描述** 337 338设置麦克风是否堵塞状态回调。<br> 在使用此功能之前,用户应查询当前设备是否支持检测,应用只有在使用麦克风录音时,并且所使用的麦克风的堵塞状态发生改变,才会收到回调,目前此检测功能仅支持麦克风位于本地设备上。 339 340**起始版本:** 13 341 342 343**参数:** 344 345| 参数项 | 描述 | 346| -- | -- | 347| [OH_AudioRoutingManager](capi-ohaudio-oh-audioroutingmanager.md) *audioRoutingManager | 音频路由管理器句柄。通过[OH_AudioManager_GetAudioRoutingManager](#oh_audiomanager_getaudioroutingmanager)获取句柄。 | 348| [OH_AudioRoutingManager_OnDeviceBlockStatusCallback](#oh_audioroutingmanager_ondeviceblockstatuscallback) callback | 函数指针将指向用于返回接受设备麦克风堵塞状态[OH_AudioRoutingManager_OnDeviceBlockStatusCallback](#oh_audioroutingmanager_ondeviceblockstatuscallback)。 | 349| void *userData | 用户自定义数据指针。 | 350 351**返回:** 352 353| 类型 | 说明 | 354| -- | -- | 355| [OH_AudioCommon_Result](capi-native-audio-common-h.md#oh_audiocommon_result) | AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。<br> AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:<br> 1.参数audioRoutingManager为nullptr;<br> 2.参数callback为nullptr。 | 356 357 358