如何检测设备的左/右音频平衡?

时间:2020-11-05 18:40:51

标签: android audio audio-player

是否可以通过编程方式检测当前设备的音频平衡?
在Android 10上-我愿意检测的设置如下:

设置->可访问性->音频和屏幕文字->音频平衡
还显示了here

通过更改此平衡,我们作为用户可以将立体声音量的左侧或右侧设置得更大。
我可以以某种方式在我的应用程序中检索此值吗?

1 个答案:

答案 0 :(得分:1)

这仅适用于Android Q以来的系统范围,并且将是Settings.java

/**
 * Master balance (float -1.f = 100% left, 0.f = dead center, 1.f = 100% right).
 *
 * @hide
 */
public static final String MASTER_BALANCE = "master_balance";

这些全局设置只能读取(未经测试,但类似):

Settings.Global.getFloat(context.getContentResolver(), Settings.Global.MASTER_BALANCE, 0f)

我找不到用于系统范围设置的任何公共API(这意味着,只有DevicePolicyManager可以更改它),但是可以使用MediaPlayer.setVolume (float leftVolume, float rightVolume)来控制此设置以播放自己的应用程序。