harmony 鸿蒙Interface (AudioVolumeManager)
Interface (AudioVolumeManager)
说明: 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
音量管理。
在使用AudioVolumeManager的接口之前,需先通过getVolumeManager获取AudioVolumeManager实例。
getVolumeGroupManager9+
getVolumeGroupManager(groupId: number, callback: AsyncCallback
获取音频组管理器。使用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 鸿蒙Interface (AudioCapturer)
harmony 鸿蒙Interface (AudioManager)
harmony 鸿蒙Interface (AudioRenderer)
harmony 鸿蒙Interface (AudioRoutingManager)
harmony 鸿蒙Interface (AudioSessionManager)
harmony 鸿蒙Interface (AudioSpatializationManager)
harmony 鸿蒙Interface (AudioStreamManager)
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦