Interface (AudioVolumeGroupManager)
This interface implements volume management for an audio group.
Before calling any API in AudioVolumeGroupManager, you must use getVolumeGroupManager to obtain an AudioVolumeGroupManager 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';
getVolume(deprecated)
getVolume(volumeType: AudioVolumeType, callback: AsyncCallback<number>): void
Obtains the volume level of a stream. 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 getVolumeByStream instead.
System capability: SystemCapability.Multimedia.Audio.Volume
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| volumeType | AudioVolumeType | Yes | Audio volume type. |
| callback | AsyncCallback<number> | Yes | Callback used to return the result. If the operation is successful, err is undefined and data is the stream volume level obtained; otherwise, err is an error object. The volume range of a specified stream can be obtained by calling getMinVolume and getMaxVolume. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
audioVolumeGroupManager.getVolume(audio.AudioVolumeType.MEDIA, (err: BusinessError, value: number) => {
if (err) {
console.error(`Failed to get volume. Code: ${err.code}, message: ${err.message}`);
return;
}
console.info(`Succeeded in getting volume. Volume: ${value}.`);
});
getVolume(deprecated)
getVolume(volumeType: AudioVolumeType): Promise<number>
Obtains the volume level of a stream. This API uses a promise to return the result.
NOTE This API is supported since API version 9 and deprecated since API version 20. You are advised to use getVolumeByStream instead.
System capability: SystemCapability.Multimedia.Audio.Volume
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| volumeType | AudioVolumeType | Yes | Audio volume type. |
Return value
| Type | Description |
|---|---|
| Promise<number> | Promise used to return the stream volume level. The volume range of a specified stream can be obtained by calling getMinVolume and getMaxVolume. |
Example
audioVolumeGroupManager.getVolume(audio.AudioVolumeType.MEDIA).then((value: number) => {
console.info(`Succeeded in getting volume. Volume: ${value}.`);
});
getVolumeSync(deprecated)
getVolumeSync(volumeType: AudioVolumeType): number
Obtains the volume level of a stream. This API returns the result synchronously.
NOTE This API is supported since API version 10 and deprecated since API version 20. You are advised to use getVolumeByStream instead.
System capability: SystemCapability.Multimedia.Audio.Volume
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| volumeType | AudioVolumeType | Yes | Audio volume type. |
Return value
| Type | Description |
|---|---|
| number | Volume level of the stream. The volume range of a specified stream can be obtained by calling getMinVolume and getMaxVolume. |
Error codes
For details about the error codes, see Universal Error Codes and Audio Error Codes.
| ID | Error Message |
|---|---|
| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
| 6800101 | Parameter verification failed. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
let value: number = audioVolumeGroupManager.getVolumeSync(audio.AudioVolumeType.MEDIA);
console.info(`Succeeded in getting volume. Volume: ${value}.`);
} catch (err) {
let error = err as BusinessError;
console.error(`Failed to get volume. Code: ${error.code}, message: ${error.message}`);
}
getMinVolume(deprecated)
getMinVolume(volumeType: AudioVolumeType, callback: AsyncCallback<number>): void
Obtains the minimum volume level of a stream. 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 getMinVolumeByStream instead.
System capability: SystemCapability.Multimedia.Audio.Volume
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| volumeType | AudioVolumeType | Yes | Audio volume type. |
| callback | AsyncCallback<number> | Yes | Callback used to return the result. If the operation is successful, err is undefined and data is the minimum stream volume level obtained; otherwise, err is an error object. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
audioVolumeGroupManager.getMinVolume(audio.AudioVolumeType.MEDIA, (err: BusinessError, value: number) => {
if (err) {
console.error(`Failed to get minVolume. Code: ${err.code}, message: ${err.message}`);
return;
}
console.info(`Succeeded in getting minVolume. Volume: ${value}.`);
});
getMinVolume(deprecated)
getMinVolume(volumeType: AudioVolumeType): Promise<number>
Obtains the minimum volume level of a stream. This API uses a promise to return the result.
NOTE This API is supported since API version 9 and deprecated since API version 20. You are advised to use getMinVolumeByStream instead.
System capability: SystemCapability.Multimedia.Audio.Volume
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| volumeType | AudioVolumeType | Yes | Audio volume type. |
Return value
| Type | Description |
|---|---|
| Promise<number> | Promise used to return the minimum volume level. |
Example
audioVolumeGroupManager.getMinVolume(audio.AudioVolumeType.MEDIA).then((value: number) => {
console.info(`Succeeded in getting minVolume. Volume: ${value}.`);
});
getMinVolumeSync(deprecated)
getMinVolumeSync(volumeType: AudioVolumeType): number
Obtains the minimum volume level of a stream. This API returns the result synchronously.
NOTE This API is supported since API version 10 and deprecated since API version 20. You are advised to use getMinVolumeByStream instead.
System capability: SystemCapability.Multimedia.Audio.Volume
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| volumeType | AudioVolumeType | Yes | Audio volume type. |
Return value
| Type | Description |
|---|---|
| number | Minimum volume level. |
Error codes
For details about the error codes, see Universal Error Codes and Audio Error Codes.
| ID | Error Message |
|---|---|
| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
| 6800101 | Parameter verification failed. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
let value: number = audioVolumeGroupManager.getMinVolumeSync(audio.AudioVolumeType.MEDIA);
console.info(`Succeeded in getting minVolume. Volume: ${value}.`);
} catch (err) {
let error = err as BusinessError;
console.error(`Failed to get minVolume. Code: ${error.code}, message: ${error.message}`);
}
getMaxVolume(deprecated)
getMaxVolume(volumeType: AudioVolumeType, callback: AsyncCallback<number>): void
Obtains the maximum volume level of a stream. 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 getMaxVolumeByStream instead.
System capability: SystemCapability.Multimedia.Audio.Volume
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| volumeType | AudioVolumeType | Yes | Audio volume type. |
| callback | AsyncCallback<number> | Yes | Callback used to return the result. If the operation is successful, err is undefined and data is the maximum stream volume level obtained; otherwise, err is an error object. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
audioVolumeGroupManager.getMaxVolume(audio.AudioVolumeType.MEDIA, (err: BusinessError, value: number) => {
if (err) {
console.error(`Failed to get maxVolume. Code: ${err.code}, message: ${err.message}`);
return;
}
console.info(`Succeeded in getting maxVolume. Volume: ${value}.`);
});
getMaxVolume(deprecated)
getMaxVolume(volumeType: AudioVolumeType): Promise<number>
Obtains the maximum volume level of a stream. This API uses a promise to return the result.
NOTE This API is supported since API version 9 and deprecated since API version 20. You are advised to use getMaxVolumeByStream instead.
System capability: SystemCapability.Multimedia.Audio.Volume
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| volumeType | AudioVolumeType | Yes | Audio volume type. |
Return value
| Type | Description |
|---|---|
| Promise<number> | Promise used to return the maximum volume level. |
Example
audioVolumeGroupManager.getMaxVolume(audio.AudioVolumeType.MEDIA).then((value: number) => {
console.info(`Succeeded in getting maxVolume. Volume: ${value}.`);
});
getMaxVolumeSync(deprecated)
getMaxVolumeSync(volumeType: AudioVolumeType): number
Obtains the maximum volume level of a stream. This API returns the result synchronously.
NOTE This API is supported since API version 10 and deprecated since API version 20. You are advised to use getMaxVolumeByStream instead.
System capability: SystemCapability.Multimedia.Audio.Volume
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| volumeType | AudioVolumeType | Yes | Audio volume type. |
Return value
| Type | Description |
|---|---|
| number | Maximum volume level. |
Error codes
For details about the error codes, see Universal Error Codes and Audio Error Codes.
| ID | Error Message |
|---|---|
| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
| 6800101 | Parameter verification failed. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
let value: number = audioVolumeGroupManager.getMaxVolumeSync(audio.AudioVolumeType.MEDIA);
console.info(`Succeeded in getting maxVolume. Volume: ${value}.`);
} catch (err) {
let error = err as BusinessError;
console.error(`Failed to get maxVolume. Code: ${error.code}, message: ${error.message}`);
}
isMute(deprecated)
isMute(volumeType: AudioVolumeType, callback: AsyncCallback<boolean>): void
Checks whether a stream is muted. 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 isSystemMutedForStream instead.
System capability: SystemCapability.Multimedia.Audio.Volume
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| volumeType | AudioVolumeType | Yes | Audio volume type. |
| callback | AsyncCallback<boolean> | Yes | Callback used to return the result. If the operation is successful, err is undefined and data is true if the stream is muted or false if not muted; otherwise, err is an error object. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
audioVolumeGroupManager.isMute(audio.AudioVolumeType.MEDIA, (err: BusinessError, value: boolean) => {
if (err) {
console.error(`Failed to use isMute function. Code: ${err.code}, message: ${err.message}`);
return;
}
console.info(`Succeeded in using isMute function. MuteState: ${value}.`);
});
isMute(deprecated)
isMute(volumeType: AudioVolumeType): Promise<boolean>
Checks whether a stream is muted. This API uses a promise to return the result.
NOTE This API is supported since API version 9 and deprecated since API version 20. You are advised to use isSystemMutedForStream instead.
System capability: SystemCapability.Multimedia.Audio.Volume
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| volumeType | AudioVolumeType | Yes | Audio volume type. |
Return value
| Type | Description |
|---|---|
| Promise<boolean> | Promise used to return the result, indicating whether the stream is muted. true if muted, false otherwise. |
Example
audioVolumeGroupManager.isMute(audio.AudioVolumeType.MEDIA).then((value: boolean) => {
console.info(`Succeeded in using isMute function. MuteState: ${value}.`);
});
isMuteSync(deprecated)
isMuteSync(volumeType: AudioVolumeType): boolean
Checks whether a stream is muted. This API returns the result synchronously.
NOTE This API is supported since API version 10 and deprecated since API version 20. You are advised to use isSystemMutedForStream instead.
System capability: SystemCapability.Multimedia.Audio.Volume
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| volumeType | AudioVolumeType | Yes | Audio volume type. |
Return value
| Type | Description |
|---|---|
| boolean | Check result for whether the stream is muted. true if muted, false otherwise. |
Error codes
For details about the error codes, see Universal Error Codes and Audio Error Codes.
| ID | Error Message |
|---|---|
| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
| 6800101 | Parameter verification failed. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
let value: boolean = audioVolumeGroupManager.isMuteSync(audio.AudioVolumeType.MEDIA);
console.info(`Succeeded in using isMuteSync function. MuteState: ${value}.`);
} catch (err) {
let error = err as BusinessError;
console.error(`Failed to use isMuteSync function. Code: ${error.code}, message: ${error.message}`);
}
getRingerMode9+
getRingerMode(callback: AsyncCallback<AudioRingMode>): void
Obtains the ringer mode. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Audio.Volume
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<AudioRingMode> | Yes | Callback used to return the result. If the operation is successful, err is undefined and data is the ringer mode obtained; otherwise, err is an error object. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
audioVolumeGroupManager.getRingerMode((err: BusinessError, value: audio.AudioRingMode) => {
if (err) {
console.error(`Failed to get ringerMode. Code: ${err.code}, message: ${err.message}`);
return;
}
console.info(`Succeeded in getting ringerMode. AudioRingMode: ${value}.`);
});
getRingerMode9+
getRingerMode(): Promise<AudioRingMode>
Obtains the ringer mode. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Audio.Volume
Return value
| Type | Description |
|---|---|
| Promise<AudioRingMode> | Promise used to return the ringer mode. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
audioVolumeGroupManager.getRingerMode().then((value: audio.AudioRingMode) => {
console.info(`Succeeded in getting ringerMode. AudioRingMode: ${value}.`);
}).catch((err: BusinessError) => {
console.error(`Failed to get ringerMode. Code: ${err.code}, message: ${err.message}`);
});
getRingerModeSync10+
getRingerModeSync(): AudioRingMode
Obtains the ringer mode. This API returns the result synchronously.
System capability: SystemCapability.Multimedia.Audio.Volume
Return value
| Type | Description |
|---|---|
| AudioRingMode | Ringer mode. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
let value: audio.AudioRingMode = audioVolumeGroupManager.getRingerModeSync();
console.info(`Succeeded in getting ringerMode. AudioRingMode: ${value}.`);
} catch (err) {
let error = err as BusinessError;
console.error(`Failed to get ringerMode. Code: ${error.code}, message: ${error.message}`);
}
on('ringerModeChange')9+
on(type: 'ringerModeChange', callback: Callback<AudioRingMode>): void
Subscribes to the ringer mode change event, which is triggered when the AudioRingMode changes. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Audio.Volume
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'ringerModeChange' is triggered when the ringer mode is changed. |
| callback | Callback<AudioRingMode> | Yes | Callback used to return the changed ringer mode. |
Error codes
For details about the error codes, see Universal Error Codes and Audio Error Codes.
| ID | Error Message |
|---|---|
| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
| 6800101 | Parameter verification failed. |
Example
audioVolumeGroupManager.on('ringerModeChange', (ringerMode: audio.AudioRingMode) => {
console.info(`Succeeded in using on function. AudioRingMode: ${ringerMode}.`);
});
off('ringerModeChange')18+
off(type: 'ringerModeChange', callback?: Callback<AudioRingMode>): void
Unsubscribes from the ringer mode change event. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Audio.Volume
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'ringerModeChange' is triggered when the ringer mode is changed. |
| callback | Callback<AudioRingMode> | No | Callback used to return the changed ringer mode. |
Error codes
For details about the error codes, see Audio Error Codes.
| ID | Error Message |
|---|---|
| 6800101 | Parameter verification failed. |
Example
// Cancel all subscriptions to the event.
audioVolumeGroupManager.off('ringerModeChange');
// 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 ringerModeChangeCallback = (ringerMode: audio.AudioRingMode) => {
console.info(`Succeeded in using on or off function. AudioRingMode: ${ringerMode}.`);
};
audioVolumeGroupManager.on('ringerModeChange', ringerModeChangeCallback);
audioVolumeGroupManager.off('ringerModeChange', ringerModeChangeCallback);
isMicrophoneMute9+
isMicrophoneMute(callback: AsyncCallback<boolean>): void
Checks whether the microphone is muted. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Audio.Volume
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<boolean> | Yes | Callback used to return the result. If the operation is successful, err is undefined and data is true if the microphone is muted or false if not muted; otherwise, err is an error object. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
audioVolumeGroupManager.isMicrophoneMute((err: BusinessError, value: boolean) => {
if (err) {
console.error(`Failed to use isMicrophoneMute function. Code: ${err.code}, message: ${err.message}`);
return;
}
console.info(`Succeeded in using isMicrophoneMute function. MuteState: ${value}.`);
});
isMicrophoneMute9+
isMicrophoneMute(): Promise<boolean>
Checks whether the microphone is muted. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Audio.Volume
Return value
| Type | Description |
|---|---|
| Promise<boolean> | Promise used to return the result, indicating whether the microphone is muted. true if muted, false otherwise. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
audioVolumeGroupManager.isMicrophoneMute().then((value: boolean) => {
console.info(`Succeeded in using isMicrophoneMute function. MuteState: ${value}.`);
}).catch((err: BusinessError) => {
console.error(`Failed to use isMicrophoneMute function. Code: ${err.code}, message: ${err.message}`);
});
isMicrophoneMuteSync10+
isMicrophoneMuteSync(): boolean
Checks whether the microphone is muted. This API returns the result synchronously.
System capability: SystemCapability.Multimedia.Audio.Volume
Return value
| Type | Description |
|---|---|
| boolean | Check result for whether the microphone is muted. true if muted, false otherwise. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
let value: boolean = audioVolumeGroupManager.isMicrophoneMuteSync();
console.info(`Succeeded in using isMicrophoneMuteSync function. MuteState: ${value}.`);
} catch (err) {
let error = err as BusinessError;
console.error(`Failed to use isMicrophoneMuteSync function. Code: ${error.code}, message: ${error.message}`);
}
on('micStateChange')9+
on(type: 'micStateChange', callback: Callback<MicStateChangeEvent>): void
Subscribes to the microphone state change event, which is triggered when the microphone state is changed. This API uses an asynchronous callback to return the result.
Currently, when multiple AudioManager instances are used in a single process, only the subscription of the last instance takes effect, and the subscription of other instances is overwritten (even if the last instance does not initiate a subscription). Therefore, you are advised to use a single AudioManager instance.
System capability: SystemCapability.Multimedia.Audio.Volume
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'micStateChange' is triggered when the microphone state is changed. |
| callback | Callback<MicStateChangeEvent> | Yes | Callback used to return the changed microphone state. |
Error codes
For details about the error codes, see Universal Error Codes and Audio Error Codes.
| ID | Error Message |
|---|---|
| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
| 6800101 | Parameter verification failed. |
Example
audioVolumeGroupManager.on('micStateChange', (micStateChange: audio.MicStateChangeEvent) => {
console.info(`Succeeded in using on function. MicStateChangeEvent: ${JSON.stringify(micStateChange)}.`);
});
off('micStateChange')12+
off(type: 'micStateChange', callback?: Callback<MicStateChangeEvent>): void
Unsubscribes from the microphone state change event. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.Audio.Volume
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'micStateChange' is triggered when the microphone state is changed. |
| callback | Callback<MicStateChangeEvent> | No | Callback used to return the changed microphone state. |
Error codes
For details about the error codes, see Universal Error Codes and Audio Error Codes.
| ID | Error Message |
|---|---|
| 401 | Parameter error. Possible causes: 1.Mandatory parameters missing; 2.Incorrect parameter types. |
| 6800101 | Parameter verification failed. |
Example
// Cancel all subscriptions to the event.
audioVolumeGroupManager.off('micStateChange');
// 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 micStateChangeCallback = (micStateChange: audio.MicStateChangeEvent) => {
console.info(`Succeeded in using on or off function. MicStateChangeEvent: ${JSON.stringify(micStateChange)}.`);
};
audioVolumeGroupManager.on('micStateChange', micStateChangeCallback);
audioVolumeGroupManager.off('micStateChange', micStateChangeCallback);
isVolumeUnadjustable10+
isVolumeUnadjustable(): boolean
Checks whether the fixed volume mode is enabled. When the fixed volume mode is enabled, the volume cannot be adjusted. This API returns the result synchronously.
System capability: SystemCapability.Multimedia.Audio.Volume
Return value
| Type | Description |
|---|---|
| boolean | Check result for whether the fixed volume mode is enabled. true if enabled, false otherwise. |
Example
let volumeAdjustSwitch: boolean = audioVolumeGroupManager.isVolumeUnadjustable();
console.info(`Succeeded in using isVolumeUnadjustable function. VolumeUnadjustable: ${volumeAdjustSwitch}.`);
getSystemVolumeInDb(deprecated)
getSystemVolumeInDb(volumeType: AudioVolumeType, volumeLevel: number, device: DeviceType, callback: AsyncCallback<number>): void
Obtains the volume gain. This API uses an asynchronous callback to return the result.
NOTE This API is supported since API version 10 and deprecated since API version 20. You are advised to use getVolumeInUnitOfDbByStream instead.
System capability: SystemCapability.Multimedia.Audio.Volume
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| volumeType | AudioVolumeType | Yes | Audio volume type. |
| volumeLevel | number | Yes | Volume level. |
| device | DeviceType | Yes | Device type. |
| callback | AsyncCallback<number> | Yes | Callback used to return the result. If the operation is successful, err is undefined and data is the volume gain obtained; otherwise, err is an error object. |
Error codes
For details about the error codes, see Universal Error Codes and Audio Error Codes.
| ID | Error Message |
|---|---|
| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
| 6800101 | Parameter verification failed. Return by callback. |
| 6800301 | System error. Return by callback. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
audioVolumeGroupManager.getSystemVolumeInDb(audio.AudioVolumeType.MEDIA, 3, audio.DeviceType.SPEAKER, (err: BusinessError, value: number) => {
if (err) {
console.error(`Failed to get system volume in db. Code: ${err.code}, message: ${err.message}`);
} else {
console.info(`Succeeded in getting system volume in db. DB: ${value}.`);
}
});
getSystemVolumeInDb(deprecated)
getSystemVolumeInDb(volumeType: AudioVolumeType, volumeLevel: number, device: DeviceType): Promise<number>
Obtains the volume gain. This API uses a promise to return the result.
NOTE This API is supported since API version 10 and deprecated since API version 20. You are advised to use getVolumeInUnitOfDbByStream instead.
System capability: SystemCapability.Multimedia.Audio.Volume
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| volumeType | AudioVolumeType | Yes | Audio volume type. |
| volumeLevel | number | Yes | Volume level. |
| device | DeviceType | Yes | Device type. |
Return value
| Type | Description |
|---|---|
| Promise<number> | Promise used to return the volume gain (in dB). |
Error codes
For details about the error codes, see Universal Error Codes and Audio Error Codes.
| ID | Error Message |
|---|---|
| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
| 6800101 | Parameter verification failed. Return by promise. |
| 6800301 | System error. Return by promise. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
audioVolumeGroupManager.getSystemVolumeInDb(audio.AudioVolumeType.MEDIA, 3, audio.DeviceType.SPEAKER).then((value: number) => {
console.info(`Succeeded in getting system volume in db. DB: ${value}.`);
}).catch((err: BusinessError) => {
console.error(`Failed to get system volume in db. Code: ${err.code}, message: ${err.message}`);
});
getSystemVolumeInDbSync(deprecated)
getSystemVolumeInDbSync(volumeType: AudioVolumeType, volumeLevel: number, device: DeviceType): number
Obtains the volume gain. This API returns the result synchronously.
NOTE This API is supported since API version 10 and deprecated since API version 20. You are advised to use getVolumeInUnitOfDbByStream instead.
System capability: SystemCapability.Multimedia.Audio.Volume
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| volumeType | AudioVolumeType | Yes | Audio volume type. |
| volumeLevel | number | Yes | Volume level. |
| device | DeviceType | Yes | Device type. |
Return value
| Type | Description |
|---|---|
| number | Volume gain (in dB). |
Error codes
For details about the error codes, see Universal Error Codes and Audio Error Codes.
| ID | Error Message |
|---|---|
| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
| 6800101 | Parameter verification failed. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
let value: number = audioVolumeGroupManager.getSystemVolumeInDbSync(audio.AudioVolumeType.MEDIA, 3, audio.DeviceType.SPEAKER);
console.info(`Succeeded in getting system volume in db. DB: ${value}.`);
} catch (err) {
let error = err as BusinessError;
console.error(`Failed to get system volume in db. Code: ${error.code}, message: ${error.message}`);
}
getMaxAmplitudeForInputDevice12+
getMaxAmplitudeForInputDevice(inputDevice: AudioDeviceDescriptor): Promise<number>
Obtains the maximum amplitude (in the range [0, 1]) of the audio stream for an input device. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Audio.Volume
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| inputDevice | AudioDeviceDescriptor | Yes | Descriptor of the target device. |
Return value
| Type | Description |
|---|---|
| Promise<number> | Promise used to return the maximum amplitude, which is in the range [0, 1]. |
Error codes
For details about the error codes, see Universal Error Codes and Audio Error Codes.
| ID | Error Message |
|---|---|
| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
| 6800101 | Parameter verification failed. Return by promise. |
| 6800301 | System error. Return by promise. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let capturerInfo: audio.AudioCapturerInfo = {
source: audio.SourceType.SOURCE_TYPE_MIC, // Audio source type: microphone. Set this parameter based on the service scenario.
capturerFlags: 0 // AudioCapturer flag.
};
audio.getAudioManager().getRoutingManager().getPreferredInputDeviceForCapturerInfo(capturerInfo).then((data) => {
audioVolumeGroupManager.getMaxAmplitudeForInputDevice(data[0]).then((value) => {
console.info(`Succeeded in getting maxAmplitude for input device. Amplitude: ${value}.`);
}).catch((err: BusinessError) => {
console.error(`Failed to get maxAmplitude for input device. Code: ${err.code}, message: ${err.message}`);
})
}).catch((err: BusinessError) => {
console.error(`Failed to get preferred input device for capturer info. Code: ${err.code}, message: ${err.message}`);
})
getMaxAmplitudeForOutputDevice12+
getMaxAmplitudeForOutputDevice(outputDevice: AudioDeviceDescriptor): Promise<number>
Obtains the maximum amplitude (in the range [0, 1]) of the audio stream for an output device. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.Audio.Volume
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| outputDevice | AudioDeviceDescriptor | Yes | Descriptor of the target device. |
Return value
| Type | Description |
|---|---|
| Promise<number> | Promise used to return the maximum amplitude, which is in the range [0, 1]. |
Error codes
For details about the error codes, see Universal Error Codes and Audio Error Codes.
| ID | Error Message |
|---|---|
| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
| 6800101 | Parameter verification failed. Return by promise. |
| 6800301 | System error. Return by promise. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let rendererInfo: audio.AudioRendererInfo = {
usage: audio.StreamUsage.STREAM_USAGE_MUSIC, // Audio stream usage type: music. Set this parameter based on the service scenario.
rendererFlags: 0 // AudioRenderer flag.
};
audio.getAudioManager().getRoutingManager().getPreferOutputDeviceForRendererInfo(rendererInfo).then((data) => {
audioVolumeGroupManager.getMaxAmplitudeForOutputDevice(data[0]).then((value) => {
console.info(`Succeeded in getting maxAmplitude for input device. Amplitude: ${value}.`);
}).catch((err: BusinessError) => {
console.error(`Failed to get maxAmplitude for input device. Code: ${err.code}, message: ${err.message}`);
})
}).catch((err: BusinessError) => {
console.error(`Failed to get preferred input device for capturer info. Code: ${err.code}, message: ${err.message}`);
})
setMicrophoneMute(deprecated)
setMicrophoneMute(mute: boolean, callback: AsyncCallback<void>): void
Mutes or unmutes the microphone. This API uses an asynchronous callback to return the result.
NOTE
This API is supported since API version 9 and deprecated since API version 11. Its substitute is available only to system applications.
Required permissions: ohos.permission.MANAGE_AUDIO_CONFIG (available only for system applications)
System capability: SystemCapability.Multimedia.Audio.Volume
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| mute | boolean | Yes | Mute status to set. true to mute, false otherwise. |
| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the operation is successful, err is undefined; otherwise, err is an error object. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
audioVolumeGroupManager.setMicrophoneMute(true, (err: BusinessError) => {
if (err) {
console.error(`Failed to set microphone mute. Code: ${err.code}, message: ${err.message}`);
return;
}
console.info('Succeeded in setting microphone mute.');
});
setMicrophoneMute(deprecated)
setMicrophoneMute(mute: boolean): Promise<void>
Mutes or unmutes the microphone. This API uses a promise to return the result.
NOTE
This API is supported since API version 9 and deprecated since API version 11. Its substitute is available only to system applications.
Required permissions: ohos.permission.MANAGE_AUDIO_CONFIG (available only for system applications)
System capability: SystemCapability.Multimedia.Audio.Volume
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| mute | boolean | Yes | Mute status to set. true to mute, false otherwise. |
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise that returns no value. |
Example
audioVolumeGroupManager.setMicrophoneMute(true).then(() => {
console.info('Succeeded in setting microphone mute.');
});