# 音频管理开发指导 ## 场景介绍 音频管理的主要工作是音量调节与音量查询,以及输入/输出设备查询。 ## 接口说明 **表1** audio的相关接口 | 接口名 | 描述 | | -------- | -------- | | getAudioManager(): AudioManager | 获得音频管理器。 | | AudioManager | 音频管理器。具体参考表 音频管理相关的interface AudioManager。 | | AudioDeviceDescriptor | 描述音频设备。 | | AudioVolumeType | 表示音频流类型的枚举。 | | DeviceFlag | 表示可获取的设备种类的枚举。 | | DeviceRole | 表示设备角色的枚举。 | | DeviceType | 表示设备类型的枚举。 | **表2** 音频管理相关的interface **AudioManager** | 接口名 | 描述 | | -------- | -------- | | setVolume(audioType: AudioVolumeType,volume: number,callback: AsyncCallback<void>): void | 改变某个流的音量。 | | setVolume(audioType: AudioVolumeType,volume: number): Promise<void> | 改变某个流的音量。 | | getVolume(audioType: AudioVolumeType, callback: AsyncCallback<number>): void | 获得某个流的音量。 | | getVolume(audioType: AudioVolumeType): Promise<number> | 获得某个流的音量。 | | getMinVolume(audioType: AudioVolumeType, callback: AsyncCallback<number>): void | 获得某个流的最小音量。 | | getMinVolume(audioType: AudioVolumeType): Promise<number> | 获得某个流的最小音量。 | | getMaxVolume(audioType: AudioVolumeType, callback: AsyncCallback<number>): void | 获得某个流的最大音量。 | | getMaxVolume(audioType: AudioVolumeType): Promise<number> | 获得某个流的最大音量。 | | getDevices(deviceFlag: DeviceFlag, callback: AsyncCallback<AudioDeviceDescriptors>): void | 获得设备列表。 | | getDevices(deviceFlag: DeviceFlag): Promise<AudioDeviceDescriptors> | 获得设备列表。 | **表3** 表示音频设备的interface **AudioDeviceDescriptor** | 属性 | 描述 | | -------- | -------- | | deviceRole: DeviceRole | 设备角色。 | | deviceType: DeviceType | 设备类型。 | **表4** 表示音频流类型的枚举**AudioVolumeType** | 枚举值 | 描述 | | -------- | -------- | | MEDIA = 1 | 媒体声音。 | | RINGTONE = 2 | 铃声。 | **表5** 表示可获取的设备种类的枚举**DeviceFlag** | 枚举值 | 描述 | | -------- | -------- | | OUTPUT_DEVICES_FLAG = 1 | 输出设备。 | | INPUT_DEVICES_FLAG = 2 | 输入设备。 | | ALL_DEVICES_FLAG = 3 | 所有设备。 | **表6** 表示设备角色的枚举**DeviceRole** | 枚举值 | 描述 | | -------- | -------- | | INPUT_DEVICE = 1 | 输入设备。 | | OUTPUT_DEVICE = 2 | 输出设备。 | **表7** 表示设备类型的枚举**DeviceType** | 枚举值 | 描述 | | -------- | -------- | | INVALID = 0 | 无效。 | | SPEAKER = 1 | 扬声器。 | | WIRED_HEADSET = 2 | 有线耳机。 | | BLUETOOTH_SCO = 3 | 蓝牙设备。 | | BLUETOOTH_A2DP = 4 | 支持A2DP的蓝牙设备。 | | MIC = 5 | 麦克风。 | ## 开发步骤 1. 获取音频控制器。 ``` const audioManager = audio.getAudioManager(); ``` 2. 改变媒体流的声音。 ``` audioManager.getVolume(audio.AudioVolumeType.MEDIA, (err, value) => { if (err) { console.error(`failed to get volume ${err.message}`); return; } console.log(`Media getVolume ${value}`); }); ```