harmony 鸿蒙Interface (AudioVolumeManager)

  • 2025-06-12
  • 浏览 (4)

Interface (AudioVolumeManager)

说明: 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

音量管理。

在使用AudioVolumeManager的接口之前,需先通过getVolumeManager获取AudioVolumeManager实例。

getVolumeGroupManager9+

getVolumeGroupManager(groupId: number, callback: AsyncCallback): void

获取音频组管理器。使用callback异步回调。

系统能力: SystemCapability.Multimedia.Audio.Volume

参数:

参数名 类型 必填 说明
groupId number 音量组id,默认使用DEFAULT_VOLUME_GROUP_ID。
callback AsyncCallback<AudioVolumeGroupManager> 回调函数。当获取音频组管理器成功,err为undefined,data为获取到的音频组管理器对象;否则为错误对象。

示例:

import { BusinessError } from '@kit.BasicServicesKit';

let groupId: number = audio.DEFAULT_VOLUME_GROUP_ID;

audioVolumeManager.getVolumeGroupManager(groupId, (err: BusinessError, value: audio.AudioVolumeGroupManager) => {
  if (err) {
    console.error(`Failed to obtain the volume group infos list. ${err}`);
    return;
  }
  console.info('Callback invoked to indicate that the volume group infos list is obtained.');
});

getVolumeGroupManager9+

getVolumeGroupManager(groupId: number): Promise

获取音频组管理器。使用Promise异步回调。

系统能力: SystemCapability.Multimedia.Audio.Volume

参数:

参数名 类型 必填 说明
groupId number 音量组id,默认使用DEFAULT_VOLUME_GROUP_ID。

返回值:

类型 说明
Promise< AudioVolumeGroupManager > Promise对象,返回音量组实例。

示例:

import { audio } from '@kit.AudioKit';

let groupId: number = audio.DEFAULT_VOLUME_GROUP_ID;
let audioVolumeGroupManager: audio.AudioVolumeGroupManager|undefined = undefined;

async function getVolumeGroupManager(){
  audioVolumeGroupManager = await audioVolumeManager.getVolumeGroupManager(groupId);
  console.info('Promise returned to indicate that the volume group infos list is obtained.');
}

getVolumeGroupManagerSync10+

getVolumeGroupManagerSync(groupId: number): AudioVolumeGroupManager

获取音频组管理器。同步返回结果。

系统能力: SystemCapability.Multimedia.Audio.Volume

参数:

参数名 类型 必填 说明
groupId number 音量组id,默认使用DEFAULT_VOLUME_GROUP_ID。

返回值:

类型 说明
AudioVolumeGroupManager 音量组实例。

错误码:

以下错误码的详细介绍请参见通用错误码说明文档Audio错误码

错误码ID 错误信息
401 Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.
6800101 Parameter verification failed.

示例:

import { BusinessError } from '@kit.BasicServicesKit';

try {
  let audioVolumeGroupManager: audio.AudioVolumeGroupManager = audioVolumeManager.getVolumeGroupManagerSync(audio.DEFAULT_VOLUME_GROUP_ID);
  console.info(`Get audioVolumeGroupManager success.`);
} catch (err) {
  let error = err as BusinessError;
  console.error(`Failed to get audioVolumeGroupManager, error: ${error}`);
}

getAppVolumePercentage19+

getAppVolumePercentage(): Promise

获取应用的音量(范围为0到100)。使用Promise异步回调。

系统能力: SystemCapability.Multimedia.Audio.Volume

返回值:

类型 说明
Promise<number> Promise对象,返回应用的音量。

示例:

import { audio } from '@kit.AudioKit';

audioVolumeManager.getAppVolumePercentage().then((value: number) => {
  console.info(`app volume is ${value}.`);
});

setAppVolumePercentage19+

setAppVolumePercentage(volume: number): Promise

设置应用的音量(范围为0到100)。使用Promise异步回调。

系统能力: SystemCapability.Multimedia.Audio.Volume

参数:

参数名 类型 必填 说明
volume number 要设置的音量值。

返回值:

类型 说明
Promise<void> Promise对象。无返回结果的Promise对象。

错误码:

以下错误码的详细介绍请参见Audio错误码

错误码ID 错误信息
6800101 Parameter verification failed.
6800301 Crash or blocking occurs in system process.

示例:

import { audio } from '@kit.AudioKit';

audioVolumeManager.setAppVolumePercentage(20).then(() => {
  console.info(`set app volume success.`);
});

on(‘volumeChange’)9+

on(type: ‘volumeChange’, callback: Callback<VolumeEvent>): void

监听系统音量变化事件(当系统音量发生变化时触发)。使用callback异步回调。

系统能力: SystemCapability.Multimedia.Audio.Volume

参数:

参数名 类型 必填 说明
type string 事件回调类型,支持的事件为’volumeChange’,当系统音量发生变化时,触发该事件。
callback Callback<VolumeEvent> 回调函数,返回变化后的音量信息。

错误码:

以下错误码的详细介绍请参见通用错误码说明文档Audio错误码

错误码ID 错误信息
401 Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.
6800101 Parameter verification failed.

示例:

audioVolumeManager.on('volumeChange', (volumeEvent: audio.VolumeEvent) => {
  console.info(`VolumeType of stream: ${volumeEvent.volumeType} `);
  console.info(`Volume level: ${volumeEvent.volume} `);
  console.info(`Whether to updateUI: ${volumeEvent.updateUi} `);
});

off(‘volumeChange’)12+

off(type: ‘volumeChange’, callback?: Callback<VolumeEvent>): void

取消监听系统音量变化事件。使用callback异步回调。

系统能力: SystemCapability.Multimedia.Audio.Volume

参数:

参数名 类型 必填 说明
type string 事件回调类型,支持的事件为’volumeChange’,当取消监听系统音量变化事件时,触发该事件。
callback Callback<VolumeEvent> 回调函数,返回变化后的音量信息。

错误码:

以下错误码的详细介绍请参见通用错误码说明文档Audio错误码

错误码ID 错误信息
401 Parameter error. Possible causes: 1.Mandatory parameters missing; 2.Incorrect parameter types.
6800101 Parameter verification failed.

示例:

// 取消该事件的所有监听。
audioVolumeManager.off('volumeChange');

// 同一监听事件中,on方法和off方法传入callback参数一致,off方法取消对应on方法订阅的监听。
let volumeChangeCallback = (volumeEvent: audio.VolumeEvent) => {
  console.info(`VolumeType of stream: ${volumeEvent.volumeType} `);
  console.info(`Volume level: ${volumeEvent.volume} `);
  console.info(`Whether to updateUI: ${volumeEvent.updateUi} `);
};

audioVolumeManager.on('volumeChange', volumeChangeCallback);

audioVolumeManager.off('volumeChange', volumeChangeCallback);

on(‘appVolumeChange’)19+

on(type: ‘appVolumeChange’, callback: Callback<VolumeEvent>): void

监听当前应用应用级音量变化事件(当应用级音量发生变化时触发)。使用callback异步回调。

系统能力: SystemCapability.Multimedia.Audio.Volume

参数:

参数名 类型 必填 说明
type string 事件回调类型,支持的事件为’appVolumeChange’,当应用级音量发生变化时,触发该事件。
callback Callback<VolumeEvent> 回调函数,返回变化后的音量信息。

错误码:

以下错误码的详细介绍请参见Audio错误码

错误码ID 错误信息
6800101 Parameter verification failed.

示例:

audioVolumeManager.on('appVolumeChange', (volumeEvent: audio.VolumeEvent) => {
  console.info(`VolumeType of stream: ${volumeEvent.volumeType} `);
  console.info(`Volume level: ${volumeEvent.volume} `);
  console.info(`Whether to updateUI: ${volumeEvent.updateUi} `);
});

off(‘appVolumeChange’)19+

off(type: ‘appVolumeChange’, callback?: Callback<VolumeEvent>): void

取消监听当前应用应用级音量变化事件。使用callback异步回调。

系统能力: SystemCapability.Multimedia.Audio.Volume

参数:

参数名 类型 必填 说明
type string 事件回调类型,支持的事件为’appVolumeChange’,当取消监听当前应用应用级音量变化事件时,触发该事件。
callback Callback<VolumeEvent> 回调函数,返回变化后的音量信息。

错误码:

以下错误码的详细介绍请参见Audio错误码

错误码ID 错误信息
6800101 Parameter verification failed.

示例:

// 取消该事件的所有监听。
audioVolumeManager.off('appVolumeChange');

// 同一监听事件中,on方法和off方法传入callback参数一致,off方法取消对应on方法订阅的监听。
let appVolumeChangeCallback = (volumeEvent: audio.VolumeEvent) => {
  console.info(`VolumeType of stream: ${volumeEvent.volumeType} `);
  console.info(`Volume level: ${volumeEvent.volume} `);
  console.info(`Whether to updateUI: ${volumeEvent.updateUi} `);
};

audioVolumeManager.on('appVolumeChange', appVolumeChangeCallback);

audioVolumeManager.off('appVolumeChange', appVolumeChangeCallback);

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Audio Kit(音频服务)

harmony 鸿蒙Interface (AudioCapturer)

harmony 鸿蒙Interface (AudioManager)

harmony 鸿蒙Interface (AudioRenderer)

harmony 鸿蒙Interface (AudioRoutingManager)

harmony 鸿蒙Interface (AudioSessionManager)

harmony 鸿蒙Interface (AudioSpatializationManager)

harmony 鸿蒙Interface (AudioStreamManager)

harmony 鸿蒙Interface (AudioVolumeGroupManager)

harmony 鸿蒙Constants

0  赞