Android 将两个立体声频道合并为单声道?

Android 将两个立体声频道合并为单声道?,android,audio,Android,Audio,我仔细搜索了一下,找不到任何API或设置来从立体声切换到单声道(两个声道的信号都是两个立体声声道的总和) 在Android中有可能实现这一点吗?AudioManager类中有一个方法可以实现这一点。不幸的是,API并不十分清楚它的功能: 为音频硬件设置数量可变的参数值 参数 keyValuePairs参数键值对列表,格式为:key1=value1;键2=值2 如果我们查看AudioManager.java中此方法的源代码: /** * Sets a variable number of par

我仔细搜索了一下,找不到任何API或设置来从立体声切换到单声道(两个声道的信号都是两个立体声声道的总和)


在Android中有可能实现这一点吗?

AudioManager类中有一个方法可以实现这一点。不幸的是,API并不十分清楚它的功能:

为音频硬件设置数量可变的参数值

参数

keyValuePairs参数键值对列表,格式为:key1=value1;键2=值2

如果我们查看AudioManager.java中此方法的源代码:

/**
 * Sets a variable number of parameter values to audio hardware.
 *
 * @param keyValuePairs list of parameters key value pairs in the form:
 *    key1=value1;key2=value2;...
 *
 */
public void setParameters(String keyValuePairs) {
    AudioSystem.setParameters(keyValuePairs);
}
看看AudioSystem.java:

/*
 * Sets a group generic audio configuration parameters. The use of these parameters
 * are platform dependant, see libaudio
 *
 * param keyValuePairs  list of parameters key value pairs in the form:
 *    key1=value1;key2=value2;...
 */
public static native int setParameters(String keyValuePairs);
那里没有多少信息。看起来这些参数可能是特定于硬件的,我甚至不确定这些参数是否能满足您的要求


您是要在整个系统范围内设置此应用程序,还是只在一个应用程序中设置此应用程序?我假设是全系统的,但如果不是这样的话,我想这会更简单。

过去三年来,Android在这方面一直存在一个公开问题,但谷歌尚未对此做出回应:


如果您已经在设备上建立了根目录并安装了BusyBox,您可以使用Google Play store上的Boefla声控应用程序。

+1已经用于您的研究。在接受之前,我必须测试一下。回答你的问题,是的。你找到解决方案了吗?
/*
 * Sets a group generic audio configuration parameters. The use of these parameters
 * are platform dependant, see libaudio
 *
 * param keyValuePairs  list of parameters key value pairs in the form:
 *    key1=value1;key2=value2;...
 */
public static native int setParameters(String keyValuePairs);