1

因此,我尝试使用 Stack Overflow 上的一些代码来将音频从耳机路由到扬声器。

我目前正在做的是:

AudioManager am = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
am.setMode(AudioManager.STREAM_MUSIC);
am.setSpeakerphoneOn(true);
sleep(15000);

发生的情况是音频在“睡眠”期间被路由,但在 15 秒后又回到耳机。如果我在没有睡眠的情况下执行此操作,声音会很快传到扬声器并返回耳机。

在这个电话之后,我的程序就死了。我希望这会在系统中持续存在,就像应用程序Headset Toggle所做的那样

4

1 回答 1

0

我无法发现为什么我的方法不起作用,但我找到了解决方法。

我现在正在做的是:

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);

感谢这篇文章中的迈克尔。

于 2015-09-29T12:28:19.380 回答