# 音频管理 - [导入模块](#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的队列,只读。