音频管理

About 59 min

音频管理

导入模块

import audio from '@ohos.multimedia.audio';
1

权限

getAudioManager(): AudioManager

获取音频管理器。

返回值:

类型

说明

AudioManager

音频管理类。

示例:

var audioManager = audio.getAudioManager();
1

AudioVolumeType

枚举,音频流类型。

名称

默认值

描述

RINGTONE

2

表示铃声。

MEDIA

3

表示媒体。

DeviceFlag

枚举,可获取的设备种类。

名称

默认值

描述

OUTPUT_DEVICES_FLAG

1

表示输出设备种类。

INPUT_DEVICES_FLAG

2

表示输入设备种类。

ALL_DEVICES_FLAG

3

表示所有设备种类。

DeviceRole

枚举,设备角色。

名称

默认值

描述

INPUT_DEVICE

1

输入设备角色。

OUTPUT_DEVICE

2

输出设备角色。

DeviceType

枚举,设备类型。

名称 默认值 描述
INVALID 0 无效设备。
EARPIECE 1 听筒。
SPEAKER 2 扬声器。
WIRED_HEADSET 3 有线耳机。
BLUETOOTH_SCO 7 蓝牙设备SCO连接(Synchronous Connection Oriented)。
BLUETOOTH_A2DP 8 蓝牙设备A2DP连接(Advanced Audio Distribution Profile)。
MIC 15 麦克风。

ActiveDeviceType7+

Enumerates active device types.

名称 默认值 描述
SPEAKER 2 扬声器。
BLUETOOTH_SCO 7 蓝牙设备SCO连接(Synchronous Connection Oriented)。

AudioRingMode7+

枚举,铃声模式。

名称

默认值

描述

RINGER_MODE_SILENT

0

静音模式

RINGER_MODE_VIBRATE

1

震动模式

RINGER_MODE_NORMAL

2

响铃模式

AudioManager

管理音频音量和音频设备。

setVolume(volumeType: AudioVolumeType, volume: number, callback: AsyncCallback<void>): void

设置指定流的音量,使用callback方式返回异步结果。

参数:

参数名

类型

必填

说明

volumeType

AudioVolumeType

音量流类型。

volume

number

音量等级,可设置范围通过getMinVolume和getMaxVolume获取。

callback

AsyncCallback<void>

回调表示成功还是失败。

返回值:

示例:

audioManager.setVolume(audio.AudioVolumeType.MEDIA, 10, (err)=>{
   if (err) {
	   console.error('Failed to set the volume. ${err.message}');
	   return;
   }
   console.log('Callback invoked to indicate a successful volume setting.');
})
1
2
3
4
5
6
7

setVolume(volumeType: AudioVolumeType, volume: number): Promise<void>

设置指定流的音量,使用promise方式返回异步结果。

参数:

参数名

类型

必填

说明

volumeType

AudioVolumeType

音量流类型。

volume

number

音量等级,可设置范围通过getMinVolume和getMaxVolume获取。

返回值:

类型

说明

Promise<void>

Promise回调表示成功还是失败。

示例:

audioManager.setVolume(audio.AudioVolumeType.MEDIA, 10).then(()=>
    console.log('Promise returned to indicate a successful volume setting.');
)
1
2
3

getVolume(volumeType: AudioVolumeType, callback: AsyncCallback<number>): void

获取指定流的音量,使用callback方式返回异步结果。

参数:

参数名

类型

必填

说明

volumeType

AudioVolumeType

音量流类型。

callback

AsyncCallback<number>

回调返回音量大小。

返回值:

示例:

audioManager.getVolume(audio.AudioVolumeType.MEDIA, (err, value) => {
   if (err) {
	   console.error('Failed to obtain the volume. ${err.message}');
	   return;
   }
   console.log('Callback invoked to indicate that the volume is obtained.');
})
1
2
3
4
5
6
7

getVolume(volumeType: AudioVolumeType): Promise<number>

获取指定流的音量,使用promise方式返回异步结果。

参数:

参数名

类型

必填

说明

volumeType

AudioVolumeType

音量流类型。

返回值:

类型

说明

Promise<number>

Promise回调返回音量大小。

示例:

audioManager.getVolume(audio.AudioVolumeType.MEDIA).then((value) =>
    console.log('Promise returned to indicate that the volume is obtained.' + value);
)
1
2
3

getMinVolume(volumeType: AudioVolumeType, callback: AsyncCallback<number>): void

获取指定流的最小音量,使用callback方式返回异步结果。

参数:

参数名

类型

必填

说明

volumeType

AudioVolumeType

音量流类型。

callback

AsyncCallback<number>

回调返回最小音量。

返回值:

示例:

audioManager.getVolume(audio.AudioVolumeType.MEDIA, (err, value) => {
    if (err) {
        console.error('Failed to obtain the minimum volume. ${err.message}');
	return;
    }
    console.log('Callback invoked to indicate that the minimum volume is obtained.' + value);
})
1
2
3
4
5
6
7

getMinVolume(volumeType: AudioVolumeType): Promise<number>

获取指定流的最小音量,使用promise方式返回异步结果。

参数:

参数名

类型

必填

说明

volumeType

AudioVolumeType

音量流类型。

返回值:

类型

说明

Promise<number>

Promise回调返回最小音量。

示例:

audioManager.getMinVolume(audio.AudioVolumeType.MEDIA).then((value) =>
    console.log('Promised returned to indicate that the minimum  volume is obtained.' + value);
)
1
2
3

getMaxVolume(volumeType: AudioVolumeType, callback: AsyncCallback<number>): void

获取指定流的最大音量,使用callback方式返回异步结果。

参数:

参数名

类型

必填

说明

volumeType

AudioVolumeType

音量流类型。

callback

AsyncCallback<number>

回调返回最大音量大小。

返回值:

示例:

audioManager.getMaxVolume(audio.AudioVolumeType.MEDIA, (err, value) => {
    if (err) {
        console.error('Failed to obtain the maximum volume. ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the maximum volume is obtained.' + value);
})
1
2
3
4
5
6
7

getMaxVolume(volumeType: AudioVolumeType): Promise<number>

获取指定流的最大音量,使用promise方式返回异步结果。

参数:

参数名

类型

必填

说明

volumeType

AudioVolumeType

音量流类型。

返回值:

类型

说明

Promise<number>

Promise回调返回最大音量大小。

示例:

audioManager.getMaxVolume(audio.AudioVolumeType.MEDIA).then((data)=>
    console.log('Promised returned to indicate that the maximum volume is obtained.');
)
1
2
3

mute(volumeType: AudioVolumeType, mute: boolean, callback: AsyncCallback<void>): void7+

设置指定音量流静音,使用callback方式返回异步结果。

参数:

参数名

类型

必填

说明

volumeType

AudioVolumeType

音量流类型。

mute

boolean

静音状态,true为静音,false为非静音。

callback

AsyncCallback<void>

回调表示成功还是失败。

返回值:

示例:

audioManager.mute(audio.AudioVolumeType.MEDIA, true, (err) => {
    if (err) {
        console.error('Failed to mute the stream. ${err.message}');
	return;
    }
    console.log('Callback invoked to indicate that the stream is muted.');
})
1
2
3
4
5
6
7

mute(volumeType: AudioVolumeType, mute: boolean): Promise<void>7+

设置指定音量流静音,使用promise方式返回异步结果。

参数:

参数名

类型

必填

说明

volumeType

AudioVolumeType

音量流类型。

mute

boolean

静音状态,true为静音,false为非静音。

返回值:

类型

说明

Promise<void>

Promise回调表示成功还是失败。

示例:

audioManager.mute(audio.AudioVolumeType.MEDIA, true).then(() =>
    console.log('Promise returned to indicate that the stream is muted.');
)
1
2
3

isMute(volumeType: AudioVolumeType, callback: AsyncCallback<boolean>): void7+

获取指定音量流是否被静音,使用callback方式返回异步结果。

参数:

参数名

类型

必填

说明

volumeType

AudioVolumeType

音量流类型。

callback

AsyncCallback<boolean>

回调返回流静音状态,true为静音,false为非静音。

返回值:

示例:

audioManager.isMute(audio.AudioVolumeType.MEDIA, (err, value) => {
   if (err) {
	   console.error('Failed to obtain the mute status. ${err.message}');
	   return;
   }
   console.log('Callback invoked to indicate that the mute status of the stream is obtained.' + value);
})
1
2
3
4
5
6
7

isMute(volumeType: AudioVolumeType): Promise<boolean>7+

获取指定音量流是否被静音,使用promise方式返回异步结果。

参数:

参数名

类型

必填

说明

volumeType

AudioVolumeType

音量流类型。

返回值:

类型

说明

Promise<boolean>

Promise回调返回流静音状态,true为静音,false为非静音。

示例:

audioManager.isMute(audio.AudioVolumeType.MEDIA).then((value) =>
    console.log('Promise returned to indicate that the mute status of the stream is obtained.' + value);
)
1
2
3

isActive(volumeType: AudioVolumeType, callback: AsyncCallback<boolean>): void7+

获取指定音量流是否为活跃状态,使用callback方式返回异步结果。

参数:

参数名

类型

必填

说明

volumeType

AudioVolumeType

音量流类型。

callback

AsyncCallback<boolean>

回调返回流的活跃状态,true为活跃,false为不活跃。

返回值:

示例:

audioManager.isActive(audio.AudioVolumeType.MEDIA, (err, value) => {
    if (err) {
        console.error('Failed to obtain the active status of the stream. ${err.message}');
	return;
    }
    console.log('Callback invoked to indicate that the active status of the stream is obtained.' + value);
})
1
2
3
4
5
6
7

isActive(volumeType: AudioVolumeType): Promise<boolean>7+

获取指定音量流是否为活跃状态,使用promise方式返回异步结果。

参数:

参数名

类型

必填

说明

volumeType

AudioVolumeType

音量流类型。

返回值:

类型

说明

Promise<boolean>

Promise回调返回流的活跃状态,true为活跃,false为不活跃。

示例:

audioManager.isActive(audio.AudioVolumeType.MEDIA).then((value) =>
    console.log('Promise returned to indicate that the active status of the stream is obtained.' + value);
)
1
2
3

setRingerMode(mode: AudioRingMode, callback: AsyncCallback<void>): void7+

设置铃声模式,使用callback方式返回异步结果。

参数:

参数名

类型

必填

说明

mode

AudioRingMode

音频铃声模式。

callback

AsyncCallback<void>

回调返回设置成功或失败。

返回值:

示例:

audioManager.setRingerMode(audio.AudioRingMode.RINGER_MODE_NORMAL, (err) => {
   if (err) {
       console.error('Failed to set the ringer mode.​ ${err.message}');
       return;
    }
    console.log('Callback invoked to indicate a successful setting of the ringer mode.');
})
1
2
3
4
5
6
7

setRingerMode(mode: AudioRingMode): Promise<void>7+

设置铃声模式,使用promise方式返回异步结果。

参数:

参数名

类型

必填

说明

mode

AudioRingMode

音频铃声模式。

返回值:

类型

说明

Promise<void>

Promise回调返回设置成功或失败。

示例:

audioManager.setRingerMode(audio.AudioRingMode.RINGER_MODE_NORMAL).then(() =>
    console.log('Promise returned to indicate a successful setting of the ringer mode.');
)
1
2
3

getRingerMode(callback: AsyncCallback<AudioRingMode>): void7+

获取铃声模式,使用callback方式返回异步结果。

参数:

参数名

类型

必填

说明

callback

AsyncCallback<AudioRingMode>

回调返回系统的铃声模式。

返回值:

示例:

audioManager.getRingerMode((err, value) => {
   if (err) {
	   console.error('Failed to obtain the ringer mode.​ ${err.message}');
	   return;
   }
   console.log('Callback invoked to indicate that the ringer mode is obtained.' + value);
})
1
2
3
4
5
6
7

getRingerMode(): Promise<AudioRingMode>7+

获取铃声模式,使用promise方式返回异步结果。

参数:

返回值:

类型

说明

Promise<AudioRingerMode>

Promise回调返回系统的铃声模式。

示例:

audioManager.getRingerMode().then((value) =>
    console.log('Promise returned to indicate that the ringer mode is obtained.' + value);
)
1
2
3

setAudioParameter(key: string, value: string, callback: AsyncCallback<void>): void7+

音频参数设置,使用callback方式返回异步结果。

参数:

参数名

类型

必填

说明

key

string

被设置的音频参数的键。

value

string

被设置的音频参数的值。

callback

AsyncCallback<void>

回调返回设置成功或失败。

返回值:

示例:

audioManager.setAudioParameter('PBits per sample', '8 bit', (err) => {
    if (err) {
        console.error('Failed to set the audio parameter. ${err.message}');
	return;
    }
    console.log('Callback invoked to indicate a successful setting of the audio parameter.');
})
1
2
3
4
5
6
7

setAudioParameter(key: string, value: string): Promise<void>7+

音频参数设置,使用promise方式返回异步结果。

参数:

参数名

类型

必填

说明

key

string

被设置的音频参数的键。

value

string

被设置的音频参数的值。

返回值:

类型

说明

Promise<void>

Promise回调返回设置成功或失败。

示例:

audioManager.setAudioParameter('PBits per sample', '8 bit').then(() =>
    console.log('Promise returned to indicate a successful setting of the audio parameter.');
)
1
2
3

getAudioParameter(key: string, callback: AsyncCallback<string>): void7+

获取指定音频参数值,使用callback方式返回异步结果。

参数:

参数名

类型

必填

说明

key

string

待获取的音频参数的键。

callback

AsyncCallback<string>

回调返回获取的音频参数的值。

返回值:

示例:

audioManager.getAudioParameter('PBits per sample', (err, value) => {
    if (err) {
        console.error('Failed to obtain the value of the audio parameter. ${err.message}');
	return;
    }
    console.log('Callback invoked to indicate that the value of the audio parameter is obtained.' + value);
})
1
2
3
4
5
6
7

getAudioParameter(key: string): Promise<string>7+

获取指定音频参数值,使用promise方式返回异步结果。

参数:

参数名

类型

必填

说明

key

string

待获取的音频参数的键。

返回值:

类型

说明

Promise<string>

Promise回调返回获取的音频参数的值。

示例:

audioManager.getAudioParameter('PBits per sample').then((value) =>
    console.log('Promise returned to indicate that the value of the audio parameter is obtained.' + value);
)
1
2
3

getDevices(deviceFlag: DeviceFlag, callback: AsyncCallback<AudioDeviceDescriptors>): void

获取音频设备列表,使用callback方式返回异步结果。

参数:

参数名

类型

必填

说明

deviceFlag

DeviceFlag

设备类型的flag。

callback

AsyncCallback<AudioDeviceDescriptors>

回调,返回设备列表。

示例:

audioManager.getDevices(audio.DeviceFlag.OUTPUT_DEVICES_FLAG, (err, value)=>{
   if (err) {
	   console.error('Failed to obtain the device list. ${err.message}');
	   return;
   }
   console.log('Callback invoked to indicate that the device list is obtained.');
})
1
2
3
4
5
6
7

getDevices(deviceFlag: DeviceFlag): Promise<AudioDeviceDescriptors>

获取音频设备列表,使用promise方式返回异步结果。

参数:

参数名

类型

必填

说明

deviceFlag

DeviceFlag

设备类型的flag。

返回值:

类型

说明

Promise<AudioDeviceDescriptors>

Promise回调返回设备列表。

示例:

audioManager.getDevices(audio.DeviceFlag.OUTPUT_DEVICES_FLAG).then((data)=>
    console.log('Promise returned to indicate that the device list is obtained.');
)
1
2
3

setDeviceActive(deviceType: ActiveDeviceType, active: boolean, callback: AsyncCallback<void>): void7+

设置设备激活状态,使用callback方式返回异步结果。

参数:

参数名

类型

必填

说明

deviceType

ActiveDeviceType

音频设备类型。

active

boolean

设备激活状态。

callback

AsyncCallback<void>

回调返回设置成功或失败。

返回值:

示例:

audioManager.setDeviceActive(audio.ActiveDeviceType.SPEAKER, true, (err)=> {
    if (err) {
        console.error('Failed to set the active status of the device. ${err.message}');
	return;
    }
    console.log('Callback invoked to indicate that the device is set to the active status.');
})
1
2
3
4
5
6
7

setDeviceActive(deviceType: ActiveDeviceType, active: boolean): Promise<void>7+

设置设备激活状态,使用promise方式返回异步结果。

参数:

参数名

类型

必填

说明

deviceType

ActiveDeviceType

音频设备类型。

active

boolean

设备激活状态。

返回值:

类型

说明

Promise<void>

Promise回调返回设置成功或失败。

示例:

audioManager.setDeviceActive(audio.ActiveDeviceType.SPEAKER, true).then(()=>
    console.log('Promise returned to indicate that the device is set to the active status.');
)
1
2
3

isDeviceActive(deviceType: DeviceType, callback: AsyncCallback<boolean>): void7+

获取指定设备激活状态,使用callback方式返回异步结果。

参数:

参数名

类型

必填

说明

deviceType

ActiveDeviceType

音频设备类型。

callback

AsyncCallback<boolean>

回调返回设备的激活状态。

返回值:

示例:

audioManager.isDeviceActive(audio.ActiveDeviceType.SPEAKER, (err, value) => {
    if (err) {
        console.error('Failed to obtain the active status of the device. ${err.message}');
	return;
    }
    console.log('Callback invoked to indicate that the active status of the device is obtained.');
})
1
2
3
4
5
6
7

isDeviceActive(deviceType: ActiveDeviceType): Promise<boolean>7+

获取指定设备激活状态,使用promise方式返回异步结果。

参数:

参数名

类型

必填

说明

deviceType

ActiveDeviceType

音频设备类型。

返回值:

Type

Description

Promise<boolean>

Promise回调返回设备的激活状态。

示例:

audioManager.isDeviceActive(audio.ActiveDeviceType.SPEAKER).then((value) =>
    console.log('Promise returned to indicate that the active status of the device is obtained.' + value);
)
1
2
3

setMicrophoneMute(mute: boolean, callback: AsyncCallback<void>): void7+

设置麦克风静音状态,使用callback方式返回异步结果。

参数:

参数名

类型

必填

说明

mute

boolean

待设置的静音状态,true为静音,false为非静音。

callback

AsyncCallback<void>

回调返回设置成功或失败。

返回值:

示例:

audioManager.setMicrophoneMute(true, (err) => {
    if (err) {
        console.error('Failed to mute the microphone. ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the microphone is muted.');
})
1
2
3
4
5
6
7

setMicrophoneMute(mute: boolean): Promise<void>7+

设置麦克风静音状态,使用promise方式返回异步结果。

参数:

参数名

类型

必填

说明

mute

boolean

待设置的静音状态,true为静音,false为非静音。

返回值:

类型

说明

Promise<void>

Promise回调返回设置成功或失败。

示例:

audioManager.setMicrophoneMute(true).then(() =>
    console.log('Promise returned to indicate that the microphone is muted.');
)
1
2
3

isMicrophoneMute(callback: AsyncCallback<boolean>): void7+

获取麦克风静音状态,使用callback方式返回异步结果。

参数:

参数名

类型

必填

说明

callback

AsyncCallback<boolean>

回调返回系统麦克风静音状态,true为静音,false为非静音。

返回值:

示例:

audioManager.isMicrophoneMute((err, value) => {
    if (err) {
        console.error('Failed to obtain the mute status of the microphone. ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the mute status of the microphone is obtained.' + value);
})
1
2
3
4
5
6
7

isMicrophoneMute(): Promise<boolean>7+

获取麦克风静音状态,使用promise方式返回异步结果。

参数:

返回值:

类型

说明

Promise<boolean>

Promise回调返回系统麦克风静音状态,true为静音,false为非静音。

示例:

audioManager.isMicrophoneMute().then((value) =>
    console.log('Promise returned to indicate that the mute status of the microphone is obtained.', + value);
)
1
2
3

AudioDeviceDescriptor

描述音频设备。

属性

名称

参数型

可读

可写

说明

deviceRole

DeviceRole

设备角色。

deviceType

DeviceType

设备类型。

AudioDeviceDescriptors

名称

描述

设备属性数组

AudioDeviceDescriptor的数组,只读。