3

我想将扬声器用于音频输出,同时将耳机插孔用于不同的音频输出/输入。这可能吗?

4

1 回答 1

4

可以在某些设备上执行此操作(我已经验证它可以在 Sony XPeria P 上运行),但我认为您不能指望它可以在所有设备上运行。

你要做的是强制MUSIC流路由到扬声器:

Class audioSystemClass = Class.forName("android.media.AudioSystem");
Method setForceUse = audioSystemClass.getMethod("setForceUse", int.class, int.class);
// First 1 == FOR_MEDIA, second 1 == FORCE_SPEAKER. To go back to the default
// behavior, use FORCE_NONE (0).
setForceUse.invoke(null, 1, 1);

然后,您将MUSIC流用于您想要路由到扬声器的VOICE_CALL任何内容,并将流用于您想要路由到耳机/耳机的任何内容。

请参阅我对通过耳机播放音乐时通过扬声器播放声音的答案

于 2013-01-08T09:04:41.637 回答