# 音频管理 - [导入模块](#zh-cn_topic_0000001149807881_s56d19203690d4782bfc74069abb6bd71) - [权限](#zh-cn_topic_0000001149807881_section11257113618419) - [方法](#zh-cn_topic_0000001149807881_section1580114415416) - [getAudioManager\(\)](#zh-cn_topic_0000001149807881_section84581011418) - [枚举](#zh-cn_topic_0000001149807881_section115029181495) - [AudioVolumeType](#zh-cn_topic_0000001149807881_section92261857172218) - [DeviceFlag](#zh-cn_topic_0000001149807881_section11285183164210) - [DeviceRole](#zh-cn_topic_0000001149807881_section380038142619) - [DeviceType](#zh-cn_topic_0000001149807881_section11727420122710) - [附录](#zh-cn_topic_0000001149807881_section1933416317165) - [AudioManager](#zh-cn_topic_0000001149807881_section8265143814015) - [setVolume\(AudioVolumeType, number, AsyncCallback\)](#zh-cn_topic_0000001149807881_section189141826104616) - [setVolume\(AudioVolumeType, number\)](#zh-cn_topic_0000001149807881_section102021249114612) - [getVolume\(AudioVolumeType, AsyncCallback\)](#zh-cn_topic_0000001149807881_section4387320194714) - [getVolume\(AudioVolumeType\)](#zh-cn_topic_0000001149807881_section04121965119) - [getMinVolume\(AudioVolumeType, AsyncCallback\)](#zh-cn_topic_0000001149807881_section188714283511) - [getMinVolume\(AudioVolumeType\)](#zh-cn_topic_0000001149807881_section41556389511) - [getMaxVolume\(AudioVolumeType, AsyncCallback\)](#zh-cn_topic_0000001149807881_section690395418516) - [getMaxVolume\(AudioVolumeType\)](#zh-cn_topic_0000001149807881_section155151345217) - [getDevices\(DeviceFlag, AsyncCallback\)](#zh-cn_topic_0000001149807881_section11536182020523) - [getDevices\(DeviceFlag\)](#zh-cn_topic_0000001149807881_section181733125210) - [AudioDeviceDescriptor](#zh-cn_topic_0000001149807881_section17427121913310) - [AudioDeviceDescriptors](#zh-cn_topic_0000001149807881_section5181155710523) >![](public_sys-resources/icon-note.gif) **说明:** >由于权限问题,此部分功能在标准系统暂不可用,待更新。 ## 导入模块 ``` import audio from '@ohos.multimedia.audio'; ``` ## 权限 无 ## 方法 ## getAudioManager\(\) 获取音频管理器。 **返回值:** 类型 说明 AudioManager 音频管理类。 **示例:** ``` var audioManager = audio.getAudioManager(); ``` ## 枚举 ## AudioVolumeType 音频流类型。 名称 默认值 描述 MEDIA 1 表示媒体。 RINGTONE 2 表示铃声。 ## DeviceFlag 可获取的设备种类。 名称 默认值 描述 OUTPUT_DEVICES_FLAG 1 表示输出设备种类。 INPUT_DEVICES_FLAG 2 表示输入设备种类。 ALL_DEVICES_FLAG 3 表示所有设备种类。 ## DeviceRole 设备角色。 名称 默认值 描述 INPUT_DEVICE 1 输入设备角色。 OUTPUT_DEVICE 2 输出设备角色。 ## DeviceType 设备类型。 名称 默认值 描述 INVALID 0 无效设备。 SPEAKER 1 扬声器。 WIRED_HEADSET 2 有线耳机。 BLUETOOTH_SCO 3 SCO(Synchronous Connection Oriented Link)蓝牙设备。 BLUETOOTH_A2DP 4 A2DP(Advanced Audio Distribution Profile )蓝牙设备。 MIC 5 麦克风。 ## 附录 ## AudioManager 音频管理器。 ### setVolume\(AudioVolumeType, number, AsyncCallback\) 设置某个流的音量,使用callback方式作为异步方法。 **参数:** 参数名 类型 必填 说明 audioType AudioVolumeType 是 流类型。 volume number 是 音量。 callback AsyncCallback<void> 是 回调表示成功还是失败。 **示例:** ``` audioManager.setVolume(audio.AudioVolumeType.MEDIA, 30, (err)=>{ if (err) { console.error(`failed to set volume ${err.message}`); return; } console.log(`Media setVolume successful callback`); }) ``` ### setVolume\(AudioVolumeType, number\) 设置某个流的音量,使用promise方式作为异步方法。 **参数:** 参数名 类型 必填 说明 audioType AudioVolumeType 是 流类型。 volume number 是 音量。 **返回值:** 类型 说明 Promise<void> Promise回调表示成功还是失败。 **示例:** ``` audioManager.setVolume(audio.AudioVolumeType.MEDIA, 30).then(()=> console.log(`Media setVolume successful callback`); ) ``` ### getVolume\(AudioVolumeType, AsyncCallback\) 获取某个流的音量,使用callback方式作为异步方法。 **参数:** 参数名 类型 必填 说明 audioType AudioVolumeType 是 流类型。 callback AsyncCallback<number> 是 回调返回音量大小。 **示例:** ``` audioManager.getVolume(audio.AudioVolumeType.MEDIA, (err, value)=>{ if (err) { console.error(`failed to get volume ${err.message}`); return; } console.log(`Media getVolume successful callback`); }) ``` ### getVolume\(AudioVolumeType\) 获取某个流的音量,使用promise方式作为异步方法。 **参数:** 参数名 类型 必填 说明 audioType AudioVolumeType 是 流类型。 **返回值:** 类型 说明 Promise<number> Promise回调返回音量大小。 **示例:** ``` audioManager.getVolume(audio.AudioVolumeType.MEDIA).then((data)=> console.log(`Media getVolume successful callback`); ) ``` ### getMinVolume\(AudioVolumeType, AsyncCallback\) 获取某个流的最小音量,使用callback方式作为异步方法。 **参数:** 参数名 类型 必填 说明 audioType AudioVolumeType 是 流类型。 callback AsyncCallback<number> 是 回调返回最小音量。 **示例:** ``` audioManager.getMinVolume(audio.AudioVolumeType.MEDIA, (err, value)=>{ if (err) { console.error(`failed to get minvolume ${err.message}`); return; } console.log(`Media getMinVolume successful callback`); }) ``` ### getMinVolume\(AudioVolumeType\) 获取某个流的最小音量,使用promise方式作为异步方法。 **参数:** 参数名 类型 必填 说明 audioType AudioVolumeType 是 流类型。 **返回值:** 类型 说明 Promise<number> Promise回调返回最小音量。 **示例:** ``` audioManager.getMinVolume(audio.AudioVolumeType.MEDIA).then((data)=> console.log(`Media getMinVolume successful callback`); ) ``` ### getMaxVolume\(AudioVolumeType, AsyncCallback\) 获取某个流的最大音量,使用callback方式作为异步方法。 **参数:** 参数名 类型 必填 说明 audioType AudioVolumeType 是 流类型。 callback AsyncCallback<number> 是 回调返回最大音量大小。 **示例:** ``` audioManager.getMaxVolume(audio.AudioVolumeType.MEDIA, (err, value)=>{ if (err) { console.error(`failed to get maxvolume ${err.message}`); return; } console.log(`Media getMaxVolume successful callback`); }) ``` ### getMaxVolume\(AudioVolumeType\) 获取某个流的最大音量,使用promise方式作为异步方法。 **参数:** 参数名 类型 必填 说明 audioType AudioVolumeType 是 流类型。 **返回值:** 类型 说明 Promise<number> Promise回调返回最大音量大小。 **示例:** ``` audioManager.getMaxVolume(audio.AudioVolumeType.MEDIA).then((data)=> console.log(`Media getMaxVolume successful callback`); ) ``` ### getDevices\(DeviceFlag, AsyncCallback\) 获取音频设备列表,使用callback方式作为异步方法。 **参数:** 参数名 类型 必填 说明 deviceFlag DeviceFlag 是 设备类型的flag。 callback AsyncCallback<AudioDeviceDescriptors> 是 回调,返回设备列表。 **示例:** ``` audioManager.getDevices(audio.DeviceFlag.OUTPUT_DEVICES_FLAG, (err, value)=>{ if (err) { console.error(`failed to get getdevices ${err.message}`); return; } console.log(`Media getDevices successful callback`); }) ``` ### getDevices\(DeviceFlag\) 获取音频设备列表,使用promise方式作为异步方法。 **参数:** 参数名 类型 必填 说明 deviceFlag DeviceFlag 是 设备类型的flag。 **返回值:** 类型 说明 Promise<AudioDeviceDescriptors> Promise回调返回设备列表。 **示例:** ``` audioManager.getDevices(audio.DeviceFlag.OUTPUT_DEVICES_FLAG).then((data)=> console.log(`Media getDevices successful callback`); ) ``` ## AudioDeviceDescriptor 描述音频设备。 名称 类型 必填 描述 deviceRole DeviceRole 否 设备角色。 deviceType DeviceType 否 设备类型。 ## AudioDeviceDescriptors 名称 描述 设备属性队列 AudioDeviceDescriptor的队列,只读。
类型
说明
AudioManager
音频管理类。
名称
默认值
描述
MEDIA
1
表示媒体。
RINGTONE
2
表示铃声。
OUTPUT_DEVICES_FLAG
表示输出设备种类。
INPUT_DEVICES_FLAG
表示输入设备种类。
ALL_DEVICES_FLAG
3
表示所有设备种类。
INPUT_DEVICE
输入设备角色。
OUTPUT_DEVICE
输出设备角色。
INVALID
0
无效设备。
SPEAKER
扬声器。
WIRED_HEADSET
有线耳机。
BLUETOOTH_SCO
SCO(Synchronous Connection Oriented Link)蓝牙设备。
BLUETOOTH_A2DP
4
A2DP(Advanced Audio Distribution Profile )蓝牙设备。
MIC
5
麦克风。
参数名
必填
audioType
AudioVolumeType
是
流类型。
volume
number
音量。
callback
AsyncCallback<void>
回调表示成功还是失败。
Promise<void>
Promise回调表示成功还是失败。
AsyncCallback<number>
回调返回音量大小。
Promise<number>
Promise回调返回音量大小。
回调返回最小音量。
Promise回调返回最小音量。
回调返回最大音量大小。
Promise回调返回最大音量大小。
deviceFlag
DeviceFlag
设备类型的flag。
AsyncCallback<AudioDeviceDescriptors>
回调,返回设备列表。
Promise<AudioDeviceDescriptors>
Promise回调返回设备列表。
deviceRole
DeviceRole
否
设备角色。
deviceType
DeviceType
设备类型。
设备属性队列
AudioDeviceDescriptor的队列,只读。