openharmony 鸿蒙 arkts-apis-audio-AudioVolumeManager

2026-08-25 浏览 (1)

Interface (AudioVolumeManager)

This interface implements audio volume management.

Before calling any API in AudioVolumeManager, you must use getVolumeManager to obtain an AudioVolumeManager instance.

NOTE

  • The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version.
  • The initial APIs of this interface are supported since API version 9.

Modules to Import

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

getVolumeGroupManager9+

getVolumeGroupManager(groupId: number, callback: AsyncCallback<AudioVolumeGroupManager>): void

Obtains a VolumeGroupManager instance. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.Multimedia.Audio.Volume

Parameters

NameTypeMandatoryDescription
groupIdnumberYesVolume group ID. The default value is DEFAULT_VOLUME_GROUP_ID.
callbackAsyncCallback<AudioVolumeGroupManager>YesCallback used to return the result. If the operation is successful, err is undefined and data is the VolumeGroupManager instance obtained; otherwise, err is an error object.

Example

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

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

audioVolumeManager.getVolumeGroupManager(groupId, (err: BusinessError, value: audio.AudioVolumeGroupManager) => {
  if (err) {
    console.error(`Failed to get volume group manager. Code: ${err.code}, message: ${err.message}`);
    return;
  }
  console.info('Succeeded in getting volume group manager.');
  audioVolumeGroupManager = value;
});

getVolumeGroupManager9+

getVolumeGroupManager(groupId: number): Promise<AudioVolumeGroupManager>

Obtains a VolumeGroupManager instance. This API uses a promise to return the result.

System capability: SystemCapability.Multimedia.Audio.Volume

Parameters

NameTypeMandatoryDescription
groupIdnumberYesVolume group ID. The default value is DEFAULT_VOLUME_GROUP_ID.

Return value

TypeDescription
Promise< AudioVolumeGroupManager >Promise used to return the VolumeGroupManager instance.

Example

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

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

audioVolumeManager.getVolumeGroupManager(groupId).then((value: audio.AudioVolumeGroupManager) => {
  console.info('Succeeded in getting volume group manager.');
  audioVolumeGroupManager = value;
}).catch((err: BusinessError) => {
  console.error(`Failed to get volume group manager. Code: ${err.code}, message: ${err.message}`);
});

getVolumeGroupManagerSync10+

getVolumeGroupManagerSync(groupId: number): AudioVolumeGroupManager

Obtains a VolumeGroupManager instance. This API returns the result synchronously.

Atomic service API: This API can be used in atomic services since API version 23.

System capability: SystemCapability.Multimedia.Audio.Volume

Parameters

NameTypeMandatoryDescription
groupIdnumberYesVolume group ID. The default value is DEFAULT_VOLUME_GROUP_ID.

Return value

TypeDescription
AudioVolumeGroupManagerVolumeGroupManager instance.

Error codes

For details about the error codes, see Universal Error Codes and Audio Error Codes.

IDError Message
401Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.
6800101Parameter verification failed.

Example

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

try {
  let audioVolumeGroupManager: audio.AudioVolumeGroupManager = audioVolumeManager.getVolumeGroupManagerSync(audio.DEFAULT_VOLUME_GROUP_ID);
  console.info('Succeeded in getting volume group manager.');
} catch (err) {
  let error = err as BusinessError;
  console.error(`Failed to get volume group manager. Code: ${error.code}, message: ${error.message}`);
}

getAppVolumePercentage19+

getAppVolumePercentage(): Promise<number>

Obtains the volume of the application. (The volume range is 0 to 100.) This API uses a promise to return the result.

Atomic service API: This API can be used in atomic services since API version 23.

System capability: SystemCapability.Multimedia.Audio.Volume

Return value

TypeDescription
Promise<number>Promise used to return the application volume.

Example

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

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

setAppVolumePercentage19+

setAppVolumePercentage(volume: number): Promise<void>

Sets the volume (within a range of 0 to 100) for the application. This API uses a promise to return the result.

Atomic service API: This API can be used in atomic services since API version 23.

System capability: SystemCapability.Multimedia.Audio.Volume

Parameters

NameTypeMandatoryDescription
volumenumberYesVolume to set.

Return value

TypeDescription
Promise<void>Promise that returns no value.

Error codes

For details about the error codes, see Audio Error Codes.

IDError Message
6800101Parameter verification failed.
6800301Crash or blocking occurs in system process.

Example

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

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

on('volumeChange')(deprecated)

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

Subscribes to the system volume change event, which is triggered when the system volume is changed. This API uses an asynchronous callback to return the result.

NOTE This API is supported since API version 9 and deprecated since API version 20. You are advised to use on('streamVolumeChange') instead.

System capability: SystemCapability.Multimedia.Audio.Volume

Parameters

NameTypeMandatoryDescription
typestringYesEvent type. The event 'volumeChange' is triggered when the system volume is changed.
callbackCallback<VolumeEvent>YesCallback used to return the changed volume.

Error codes

For details about the error codes, see Universal Error Codes and Audio Error Codes.

IDError Message
401Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.
6800101Parameter verification failed.

Example

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')(deprecated)

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

Unsubscribes from the system volume change event. This API uses an asynchronous callback to return the result.

NOTE This API is supported since API version 12 and deprecated since API version 20. You are advised to use off('streamVolumeChange') instead.

System capability: SystemCapability.Multimedia.Audio.Volume

Parameters

NameTypeMandatoryDescription
typestringYesEvent type. The event 'volumeChange' is triggered when the system volume is changed.
callbackCallback<VolumeEvent>NoCallback used to return the changed volume.

Error codes

For details about the error codes, see Universal Error Codes and Audio Error Codes.

IDError Message
401Parameter error. Possible causes: 1.Mandatory parameters missing; 2.Incorrect parameter types.
6800101Parameter verification failed.

Example

// Cancel all subscriptions to the event.
audioVolumeManager.off('volumeChange');

// For the same event, if the callback parameter passed to the off API is the same as that passed to the on API, the off API cancels the subscription registered with the specified callback parameter.
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

Subscribes to the application-level volume change event of the application (triggered when the application-level volume is changed). This API uses an asynchronous callback to return the result.

System capability: SystemCapability.Multimedia.Audio.Volume

Parameters

NameTypeMandatoryDescription
typestringYesEvent type. The event 'appVolumeChange' is triggered when the application-level volume is changed.
callbackCallback<VolumeEvent>YesCallback used to return the changed volume.

Error codes

For details about the error codes, see Audio Error Codes.

IDError Message
6800101Parameter verification failed.

Example

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

Unsubscribes from the application-level volume change event of the application. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.Multimedia.Audio.Volume

Parameters

NameTypeMandatoryDescription
typestringYesEvent type. The event 'appVolumeChange' is triggered when the application-level volume is changed.
callbackCallback<VolumeEvent>NoCallback used to return the changed volume.

Error codes

For details about the error codes, see Audio Error Codes.

IDError Message
6800101Parameter verification failed.

Example

// Cancel all subscriptions to the event.
audioVolumeManager.off('appVolumeChange');

// For the same event, if the callback parameter passed to the off API is the same as that passed to the on API, the off API cancels the subscription registered with the specified callback parameter.
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);

getVolumeByStream20+

getVolumeByStream(streamUsage: StreamUsage): number

Obtains the volume of a specified audio stream.

Atomic service API: This API can be used in atomic services since API version 23.

System capability: SystemCapability.Multimedia.Audio.Volume

Parameters

NameTypeMandatoryDescription
streamUsageStreamUsageYesAudio stream for which the volume is to be obtained.

Return value

TypeDescription
numberVolume.

Error codes

For details about the error codes, see Audio Error Codes.

IDError Message
6800101Parameter verification failed.

Example

// Obtain the volume of a specified audio stream.
import { BusinessError } from '@kit.BasicServicesKit';
import { audio } from '@kit.AudioKit'

try {
  let volume : number = audio.getAudioManager().getVolumeManager().getVolumeByStream(audio.StreamUsage.STREAM_USAGE_MUSIC);
  console.info(`Obtains the volume of a stream success.`);
} catch (err) {
  let error = err as BusinessError;
  console.error(`Failed to obtains the volume of a stream, error: ${error}`);
}

getMinVolumeByStream20+

getMinVolumeByStream(streamUsage: StreamUsage): number

Obtains the minimum volume of a specified audio stream.

Atomic service API: This API can be used in atomic services since API version 23.

System capability: SystemCapability.Multimedia.Audio.Volume

Parameters

NameTypeMandatoryDescription
streamUsageStreamUsageYesAudio stream for which the minimum volume is to be obtained.

Return value

TypeDescription
numberVolume.

Error codes

For details about the error codes, see Audio Error Codes.

IDError Message
6800101Parameter verification failed.

Example

// Obtain the minimum volume of a specified audio stream.
import { BusinessError } from '@kit.BasicServicesKit';
import { audio } from '@kit.AudioKit'

try {
  let volume : number = audio.getAudioManager().getVolumeManager().getMinVolumeByStream(audio.StreamUsage.STREAM_USAGE_MUSIC);
  console.info(`Obtains the minimum volume allowed for a stream success.`);
} catch (err) {
  let error = err as BusinessError;
  console.error(`Failed to obtains the minimum volume allowed for a stream, error: ${error}`);
}

getMaxVolumeByStream20+

getMaxVolumeByStream(streamUsage: StreamUsage): number

Obtains the maximum volume of a specified audio stream.

Atomic service API: This API can be used in atomic services since API version 23.

System capability: SystemCapability.Multimedia.Audio.Volume

Parameters

NameTypeMandatoryDescription
streamUsageStreamUsageYesAudio stream for which the maximum volume is to be obtained.

Return value

TypeDescription
numberVolume.

Error codes

For details about the error codes, see Audio Error Codes.

IDError Message
6800101Parameter verification failed.

Example

// Obtain the maximum volume of a specified audio stream.
import { BusinessError } from '@kit.BasicServicesKit';
import { audio } from '@kit.AudioKit'

try {
  let volume : number = audio.getAudioManager().getVolumeManager().getMaxVolumeByStream(audio.StreamUsage.STREAM_USAGE_MUSIC);
  console.info(`Obtains the maximum volume allowed for a stream success.`);
} catch (err) {
  let error = err as BusinessError;
  console.error(`Failed to obtains the maximum volume allowed for a stream, error: ${error}`);
}

isSystemMutedForStream20+

isSystemMutedForStream(streamUsage: StreamUsage): boolean

Checks whether a specified audio stream is muted.

System capability: SystemCapability.Multimedia.Audio.Volume

Parameters

NameTypeMandatoryDescription
streamUsageStreamUsageYesAudio stream to check.

Return value

TypeDescription
booleanCheck result for whether the audio stream is muted. true if muted, false otherwise.

Error codes

For details about the error codes, see Audio Error Codes.

IDError Message
6800101Parameter verification failed.

Example

// Check whether a specified audio stream is muted.
import { BusinessError } from '@kit.BasicServicesKit';
import { audio } from '@kit.AudioKit'

try {
  let isMuted : boolean = audio.getAudioManager().getVolumeManager().isSystemMutedForStream(audio.StreamUsage.STREAM_USAGE_MUSIC);
  console.info(`Checks whether the system is muted based on the stream success.`);
} catch (err) {
  let error = err as BusinessError;
  console.error(`Failed to checks whether the system is muted based on the stream, error: ${error}`);
}

getVolumeInUnitOfDbByStream20+

getVolumeInUnitOfDbByStream(streamUsage: StreamUsage, volumeLevel: number, device: DeviceType): number

Obtains the volume (in dB) calculated by the system based on the audio stream, volume level, and device type.

System capability: SystemCapability.Multimedia.Audio.Volume

Parameters

NameTypeMandatoryDescription
streamUsageStreamUsageYesAudio stream.
volumeLevelnumberYesVolume level.
deviceDeviceTypeYesDevice type.

Return value

TypeDescription
numberVolume of the audio stream, in dB.

Error codes

For details about the error codes, see Audio Error Codes.

IDError Message
6800101Parameter verification failed.

Example

// Obtain the volume (in dB) calculated by the system based on the audio stream, volume level, and device type.
import { BusinessError } from '@kit.BasicServicesKit';
import { audio } from '@kit.AudioKit'

try {
  let volumeInDb : number = audio.getAudioManager().getVolumeManager().getVolumeInUnitOfDbByStream(audio.StreamUsage.STREAM_USAGE_MUSIC, 5, audio.DeviceType.SPEAKER);
  console.info(`Gets the volume db value that system calculate by volume stream, volume level and device type.
 success.`);
} catch (err) {
  let error = err as BusinessError;
  console.error(`Failed to gets the volume db value that system calculate by volume stream, volume level and device type., error: ${error}`);
}

on('streamVolumeChange')20+

on(type: 'streamVolumeChange', streamUsage: StreamUsage, callback: Callback<StreamVolumeEvent>): void

Subscribes to the system audio volume change event, which is triggered when the system audio volume is changed. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.Multimedia.Audio.Volume

Parameters

NameTypeMandatoryDescription
typestringYesEvent type. The event 'streamVolumeChange' is triggered when the system audio volume is changed.
streamUsageStreamUsageYesAudio stream usage.
callbackCallback<StreamVolumeEvent>YesCallback used to return the changed volume.

Error codes

For details about the error codes, see Audio Error Codes.

IDError Message
6800101Parameter verification failed.

Example

audioVolumeManager.on('streamVolumeChange', audio.StreamUsage.STREAM_USAGE_MUSIC, (streamVolumeEvent: audio.StreamVolumeEvent) => {
  console.info(`StreamUsage of stream: ${streamVolumeEvent.streamUsage} `);
  console.info(`Volume level: ${streamVolumeEvent.volume} `);
  console.info(`Whether to updateUI: ${streamVolumeEvent.updateUi} `);
});

off('streamVolumeChange')20+

off(type: 'streamVolumeChange', callback?: Callback<StreamVolumeEvent>): void

Unsubscribes from the system audio volume change event, which is triggered when the system audio volume is changed. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.Multimedia.Audio.Volume

Parameters

NameTypeMandatoryDescription
typestringYesEvent type. The event 'volumeChange' is triggered when the system volume is changed.
callbackCallback<StreamVolumeEvent>NoCallback used to return the changed volume.

Example

// Cancel all subscriptions to the event.
audioVolumeManager.off('streamVolumeChange');

// For the same event, if the callback parameter passed to the off API is the same as that passed to the on API, the off API cancels the subscription registered with the specified callback parameter.
let streamVolumeChangeCallback = (streamVolumeEvent: audio.StreamVolumeEvent) => {
  console.info(`StreamUsage of stream: ${streamVolumeEvent.streamUsage} `);
  console.info(`Volume level: ${streamVolumeEvent.volume} `);
  console.info(`Whether to updateUI: ${streamVolumeEvent.updateUi} `);
};

audioVolumeManager.on('streamVolumeChange', audio.StreamUsage.STREAM_USAGE_MUSIC, streamVolumeChangeCallback);

audioVolumeManager.off('streamVolumeChange', streamVolumeChangeCallback);

你可能感兴趣的鸿蒙文章

openharmony 鸿蒙 capi-native-audiostreambuilder-h

openharmony 鸿蒙 capi-ohaudiosuite

openharmony 鸿蒙 js-apis-inner-multimedia-systemSoundPlayer

openharmony 鸿蒙 arkts-apis-audio-i

openharmony 鸿蒙 capi-ohaudio

openharmony 鸿蒙 capi-ohmidi

openharmony 鸿蒙 arkts-apis-audio-AudioManager

openharmony 鸿蒙 capi-ohaudiosuite-oh-audiosuite-spacerenderpositionparams

openharmony 鸿蒙 capi-ohaudio-oh-audiostreaminfo

openharmony 鸿蒙 errorcode-ringtone

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/Qr51BMRY