我想将扬声器用于音频输出,同时使用耳机插孔进行不同的音频输出/输入。这可能吗?
答案 0 :(得分: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
流用于您想要路由到耳机/耳机的任何内容。
请参阅我对Playing sound over speakers while playing music through headphones
的回答