1.问题描述:
如何实现自定义音量调节?
解决方案:
设置系统音量
应用无法直接调节系统音量,系统提供了ArkTS组件AVVolumePanel音量面板,应用可以创建该组件,让用户通过界面操作来调节音量。
设置应用音量
管理应用音量的接口由AudioVolumeManager提供,在使用之前,需要使用getVolumeManager()获取AudioVolumeManager实例,示例代码如下:
let audioManager = audio.getAudioManager();
let audioVolumeManager = audioManager.getVolumeManager();
设置应用音量。
当音量模式设置为APP_INDIVIDUAL时,可通过下面示例接口设置应用音量。
// 设置应用的音量(范围为0到100)。
audioVolumeManager.setAppVolumePercentage(20).then(() => {
console.info(`set app volume success.`);
});
设置音频流音量
在ArkTS API端和Native API端分别有对应的API用来设置音频流音量。
使用ArkTS API时,开发者可以使用AVPlayer或AudioRenderer的setVolume()方法。
使用AVPlayer设置音频流音量的示例代码如下:
let volume = 1.0; // 指定的音量大小,取值范围为[0.00-1.00],1表示最大音量
avPlayer.setVolume(volume);
使用AudioRenderer设置音频流音量的示例代码如下:
audioRenderer.setVolume(0.5).then(() => { // 音量范围为[0.0-1.0]
console.info('Invoke setVolume succeeded.');
}).catch((err: BusinessError) => {
});
使用Native API时开发者可使用OH_AudioRenderer_SetVolume接口设置当前音频流音量值,示例代码如下:
---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-289824.htm
[原创]【FAQ】HarmonyOS SDK 闭源开放能力 — Audio Kit
351 浏览
1 回复
很有内涵,能联系我吗19153616868