在 Android 中以编程方式设置和检测单声道音频(辅助功能)

问题描述 投票:0回答:4

Android 允许我将音频通道设置为单个单声道。它处于辅助功能设置中,需要很多时间(我认为)。所以我想以编程方式设置它(或通过tasker,Idc),但我在Android辅助功能API文档中找不到它。我不确定它是否在那里、其他地方或无处可寻。 有人可以帮我找到一种方法来检测设置是否可用以及如何设置。

提前致谢!

The picture of the settings

android
4个回答
1
投票

到目前为止,我还没有找到任何可以通过编程方式(在我的未root手机上)执行此操作的东西。

在使用同名任务打开“辅助功能设置”后,我最终使用“自动输入”向下滚动,然后点击“单声道音频”的切换按钮。 如果您没有非常快的设备,请记住在操作之间等待大约 350 毫秒或更长的时间以等待事情发生(自动输入无法正常工作的问题较少)。

安全设置也许可以修改这一点,但为了这一件事而生根我的手机是不值得的。


0
投票

这个应用程序允许我将其切换为图块;但我认为需要root。 https://play.google.com/store/apps/details?id=it.simonesestito.ntiles


0
投票

这里是设置单声道的命令: 设置放入系统 master_mono 1

我反编译了上面提到的那个应用程序David,并找到了它。


0
投票

通过下面的反思对我更有用:

                try {
                    boolean setMono = true;
                    Class<?> audioSystemClass = Class.forName("android.media.AudioSystem");
                    @SuppressLint("SoonBlockedPrivateApi") Method setMasterMonoMethod = audioSystemClass.getDeclaredMethod("setMasterMono", boolean.class);
                    Log.d(TAG, "setMasterMonoMethod returned: "+ (int) setMasterMonoMethod.invoke(null, setMono));
                } catch (Exception e) {
                    Log.e(TAG, "Error setting audio to mono: " + e.getMessage(), e);
                }
© www.soinside.com 2019 - 2024. All rights reserved.