# Audio Management - [Modules to Import](#en-us_topic_0000001149807881_s56d19203690d4782bfc74069abb6bd71) - [Required Permissions](#en-us_topic_0000001149807881_section11257113618419) - [Functions](#en-us_topic_0000001149807881_section1580114415416) - [getAudioManager\(\)](#en-us_topic_0000001149807881_section84581011418) - [Enums](#en-us_topic_0000001149807881_section115029181495) - [AudioVolumeType](#en-us_topic_0000001149807881_section92261857172218) - [DeviceFlag](#en-us_topic_0000001149807881_section11285183164210) - [DeviceRole](#en-us_topic_0000001149807881_section380038142619) - [DeviceType](#en-us_topic_0000001149807881_section11727420122710) - [Appendixes](#en-us_topic_0000001149807881_section1933416317165) - [AudioManager](#en-us_topic_0000001149807881_section8265143814015) - [setVolume\(AudioVolumeType, number, AsyncCallback\)](#en-us_topic_0000001149807881_section189141826104616) - [setVolume\(AudioVolumeType, number\)](#en-us_topic_0000001149807881_section102021249114612) - [getVolume\(AudioVolumeType, AsyncCallback\)](#en-us_topic_0000001149807881_section4387320194714) - [getVolume\(AudioVolumeType\)](#en-us_topic_0000001149807881_section04121965119) - [getMinVolume\(AudioVolumeType, AsyncCallback\)](#en-us_topic_0000001149807881_section188714283511) - [getMinVolume\(AudioVolumeType\)](#en-us_topic_0000001149807881_section41556389511) - [getMaxVolume\(AudioVolumeType, AsyncCallback\)](#en-us_topic_0000001149807881_section690395418516) - [getMaxVolume\(AudioVolumeType\)](#en-us_topic_0000001149807881_section155151345217) - [getDevices\(DeviceFlag, AsyncCallback\)](#en-us_topic_0000001149807881_section11536182020523) - [getDevices\(DeviceFlag\)](#en-us_topic_0000001149807881_section181733125210) - [AudioDeviceDescriptor](#en-us_topic_0000001149807881_section17427121913310) - [AudioDeviceDescriptors](#en-us_topic_0000001149807881_section5181155710523) >![](public_sys-resources/icon-note.gif) **NOTE:** >Due to permission issues, these feature are temporarily unavailable for the standard system. ## Modules to Import ``` import audio from '@ohos.multimedia.audio'; ``` ## Required Permissions None ## Functions ## getAudioManager\(\) Obtains an **AudioManager** instance. **Return Values**

Type

Description

AudioManager

Audio manager

**Example** ``` var audioManager = audio.getAudioManager(); ``` ## Enums ## AudioVolumeType Enumerates audio stream types.

Name

Default Value

Description

MEDIA

1

Audio streams for media purpose

RINGTONE

2

Audio streams for ring tones

## DeviceFlag Enumerates audio device flags.

Name

Default Value

Description

OUTPUT_DEVICES_FLAG

1

Output devices

INPUT_DEVICES_FLAG

2

Input devices

ALL_DEVICES_FLAG

3

All devices

## DeviceRole Enumerates device roles.

Name

Default Value

Description

INPUT_DEVICE

1

Input role

OUTPUT_DEVICE

2

Output role

## DeviceType Enumerates device types.

Name

Default Value

Description

INVALID

0

Invalid device

SPEAKER

1

Speaker

WIRED_HEADSET

2

Wired headset

BLUETOOTH_SCO

3

Bluetooth device using the synchronous connection oriented link (SCO)

BLUETOOTH_A2DP

4

Bluetooth device using advanced audio distribution profile (A2DP)

MIC

5

Microphone

## Appendixes ## AudioManager Manages audio volume and audio device information. ### setVolume\(AudioVolumeType, number, AsyncCallback\) Sets volume for a stream. This method uses an asynchronous callback to return the execution result. **Parameters**

Name

Type

Mandatory

Description

audioType

AudioVolumeType

Yes

Audio stream type

volume

number

Yes

Volume to set

callback

AsyncCallback<void>

Yes

Callback used to return whether the setting is successful

**Example** ``` 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\) Sets volume for a stream. This method uses a promise to return the execution result. **Parameters**

Name

Type

Mandatory

Description

audioType

AudioVolumeType

Yes

Audio stream type

volume

number

Yes

Volume to set

**Return Values**

Type

Description

Promise<void>

Promise used to return whether the setting is successful

**Example** ``` audioManager.setVolume(audio.AudioVolumeType.MEDIA, 30).then(()=> console.log(`Media setVolume successful callback`); ) ``` ### getVolume\(AudioVolumeType, AsyncCallback\) Obtains volume of a stream. This method uses an asynchronous callback to return the execution result. **Parameters**

Name

Type

Mandatory

Description

audioType

AudioVolumeType

Yes

Audio stream type

callback

AsyncCallback<number>

Yes

Callback used to return the volume

**Example** ``` 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\) Obtains the volume of a stream. This method uses a promise to return the execution result. **Parameters**

Name

Type

Mandatory

Description

audioType

AudioVolumeType

Yes

Audio stream type

**Return Values**

Type

Description

Promise<number>

Promise used to return stream volume

**Example** ``` audioManager.getVolume(audio.AudioVolumeType.MEDIA).then((data)=> console.log(`Media getVolume successful callback`); ) ``` ### getMinVolume\(AudioVolumeType, AsyncCallback\) Obtains the minimum volume allowed for a stream. This method uses an asynchronous callback to return the execution result. **Parameters**

Name

Type

Mandatory

Description

audioType

AudioVolumeType

Yes

Audio stream type

callback

AsyncCallback<number>

Yes

Callback used to return the minimum volume

**Example** ``` 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\) Obtains the minimum volume allowed for a stream. This method uses a promise to return the execution result. **Parameters**

Name

Type

Mandatory

Description

audioType

AudioVolumeType

Yes

Audio stream type

**Return Values**

Type

Description

Promise<number>

Promise used to return the minimum volume

**Example** ``` audioManager.getMinVolume(audio.AudioVolumeType.MEDIA).then((data)=> console.log(`Media getMinVolume successful callback`); ) ``` ### getMaxVolume\(AudioVolumeType, AsyncCallback\) Obtains the maximum volume allowed for a stream. This method uses an asynchronous callback to return the execution result. **Parameters**

Name

Type

Mandatory

Description

audioType

AudioVolumeType

Yes

Audio stream type

callback

AsyncCallback<number>

Yes

Callback used to return the maximum volume

**Example** ``` 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\) Obtains the maximum volume allowed for a stream. This method uses a promise to return the execution result. **Parameters**

Name

Type

Mandatory

Description

audioType

AudioVolumeType

Yes

Audio stream type

**Return Values**

Type

Description

Promise<number>

Promise used to return the maximum volume

**Example** ``` audioManager.getMaxVolume(audio.AudioVolumeType.MEDIA).then((data)=> console.log(`Media getMaxVolume successful callback`); ) ``` ### getDevices\(DeviceFlag, AsyncCallback\) Obtains the audio devices of a specified flag. This method uses an asynchronous callback to return the execution result. **Parameters**

Name

Type

Mandatory

Description

deviceFlag

DeviceFlag

Yes

Audio device flag

callback

AsyncCallback<AudioDeviceDescriptors>

Yes

Callback used to return the device list

**Example** ``` 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\) Obtains the audio devices with a specified flag. This method uses a promise to return the execution result. **Parameters**

Name

Type

Mandatory

Description

deviceFlag

DeviceFlag

Yes

Audio device flag

**Return Values**

Type

Description

Promise<AudioDeviceDescriptors>

Promise used to return the obtained device list

**Example** ``` audioManager.getDevices(audio.DeviceFlag.OUTPUT_DEVICES_FLAG).then((data)=> console.log(`Media getDevices successful callback`); ) ``` ## AudioDeviceDescriptor Describes audio devices.

Name

Type

Mandatory

Description

deviceRole

DeviceRole

No

Audio device role

deviceType

DeviceType

No

Audio device type

## AudioDeviceDescriptors

Name

Description

Device property queue

A queue of AudioDeviceDescriptor, which is read-only.