如何评价鸿蒙6音量无级调节这一尖端技术?友商是否会选择跟进?
说实话,我还是要感谢某家的这种“遥遥领先”视频,因为我手上这台OPPO都更新到 Coloros 15了,甚至都不知道日常滑动调节音量的功能,叫做音量无极调节。
管你友商会不会跟进或者是不是之前手机系统早就有这个功能,人家盘子已经相信并发视频宣传了。
「无极音量调节你的极限在哪里、鸿蒙6音量无极调节 这次赢麻了、鸿蒙6无极音量调节太牛了」

OPPO、VIVO 关于音量无极调节并无指定的文档写明(开发者文档应该有写,但是我懒得找了),小米对于音量无极调节有文档写明,但那是古早 MIUI 系统的事情。
苹果手机什么时候有类似的音量无极调节功能,我不太清楚,反正比 Android 早很多。
Android 15 | API reference - AudioManager
Android 15 系统提供了一套音量控制的API,即通过 AudioManager 类来调整音量(15个级别)。

/* 示例代码 */
// 获取AudioManager对象
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
// 获取当前音量
int currentVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
// 调大音量
audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
// 调小音量
audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);
// 设置静音
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 0, AudioManager.FLAG_SHOW_UI);
开发文档 | MIUI无极音量适配说明(更新时间:2024-09-24 21:06:00) [1]
一、MIUI无极音量综述
MIUI为了提升用户的音频体验,将媒体音音量范围从[0,15]修改为[0,150]。用户在滑动音量条时,每一次轻微的滑动都能改变音量,细微的音量调节让用户能找到更加合适的音频响度。
二、App适配建议
1.若App无调节音量功能或不拦截音量上下按键,此时无需单独适配
2.若App通过onTouchEvent等接口拦截volume up或down事件
- 拦截事件后,做其他的事件处理,例如按键拍照等,此时App无需单独适配;
- 拦截事件后,通过AudioManager的adjustSuggestedStreamVolume接口调节音量,此时MIUI 系统会内部计算每次按键应该调节多少index,此时App无需单独适配;
- 拦截事件后,通过AudioManager的setStreamVolume接口,此时接口要传递具体的index值,此时App需适配。
App应内部自己定义步长step,进而算出index。若支持无极音量step = 10,若不支持step = 1;原因是为了兼容不支持无极音量的机型,统一定义:按键15次将音量调满。统一计算公式 step = MaxVolume /15;
MaxVolume = AudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC)。
总结:简单来说,应用App如果有自己的音量调节逻辑,应该内部定义步长step。通过以上方式可兼容任意机型。
3.未适配的应用具体表现
按键150次,才能调满音量,调节缓慢。

引用资料:
Android Developers | API reference - AudioManager [2]