音频管理开发指导
场景介绍
音频管理的主要工作是音量调节与音量查询,以及输入/输出设备查询。
接口说明
表 1 audio的相关接口
表 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
|
麦克风。
|
开发步骤
-
获取音频控制器。
const audioManager = audio.getAudioManager()
-
改变媒体流的声音。
audioManager.getVolume(audio.AudioVolumeType.MEDIA, (err, value) => {
if (err) {
console.error(`failed to get volume ${err.message}`);
return;
}
console.log(`Media getVolume ${value}`);
});