本模块提供音频输入设备管理能力，包括查询输入设备信息、监听设备连接状态变化等。具体API说明可参考文档[AudioRoutingManager](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/arkts-apis-audio-audioroutingmanager)。

## 创建AudioRoutingManager实例

在使用AudioRoutingManager管理音频设备前，需要先导入模块并创建实例。

收起

自动换行

深色代码主题

复制

```
1. import { audio } from '@kit.AudioKit';  // 导入audio模块。

3. let audioManager = audio.getAudioManager();  // 需要先创建AudioManager实例。
4. let audioRoutingManager = audioManager.getRoutingManager();  // 再调用AudioManager的方法创建AudioRoutingManager实例。
```

## 支持的音频输入设备类型

目前支持的音频输入设备见下表：

展开

| 名称 | 值 | 说明 |
| --- | --- | --- |
| WIRED\_HEADSET | 3 | 有线耳机，带麦克风。 |
| BLUETOOTH\_SCO | 7 | 蓝牙设备SCO（Synchronous Connection Oriented）连接。 |
| MIC | 15 | 麦克风。 |
| USB\_HEADSET | 22 | USB耳机，带麦克风。 |
| NEARLINK | 31 | 星闪设备。 |

## 获取输入设备信息

使用[getDevices](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/arkts-apis-audio-audioroutingmanager#getdevices9)方法可以获取当前所有输入设备的信息。

收起

自动换行

深色代码主题

复制

```
1. import { audio } from '@kit.AudioKit';

3. audioRoutingManager.getDevices(audio.DeviceFlag.INPUT_DEVICES_FLAG).then((data: audio.AudioDeviceDescriptors) => {
4. console.info('Promise returned to indicate that the device list is obtained.');
5. });
```

## 监听设备连接状态变化

可以设置监听事件来监听设备连接状态的变化，当有设备连接或断开时触发回调：

收起

自动换行

深色代码主题

复制

```
1. import { audio } from '@kit.AudioKit';

3. // 监听音频设备状态变化。
4. audioRoutingManager.on('deviceChange', audio.DeviceFlag.INPUT_DEVICES_FLAG, (deviceChanged: audio.DeviceChangeAction) => {
5. console.info('device change type : ' + deviceChanged.type);  // 设备连接状态变化，0为连接，1为断开连接。
6. console.info('device descriptor size : ' + deviceChanged.deviceDescriptors.length);
7. console.info('device change descriptor : ' + deviceChanged.deviceDescriptors[0].deviceRole);  // 设备角色。
8. console.info('device change descriptor : ' + deviceChanged.deviceDescriptors[0].deviceType);  // 设备类型。
9. });

11. // 取消监听音频设备状态变化。
12. audioRoutingManager.off('deviceChange', (deviceChanged: audio.DeviceChangeAction) => {
13. console.info('Should be no callback.');
14. });
```