这个问题之前已在本网站上被问过并回答了两次,但该代码似乎根本不适用于现代手机。我正在使用Android 4.2和Android 4.3,但似乎都没有。
我在通话期间通过媒体播放器播放MP3,它工作正常,但歌曲和通话都是通过语音扬声器传来的。如果我按"扬声器"他们都继续通过扬声器播放。 我需要这种效果,但不必自己按
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
audioManager.setMode(AudioManager.MODE_IN_CALL);
audioManager.setSpeakerphoneOn(true);
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
这被建议作为关于S.O的其他问题的解决方案,但它根本不起作用。它应该,代码很好,但它根本不对音频做任何事情。
思想?
答案 0 :(得分:3)
我解决了。我创建了一个线程,在&#34; While(true)&#34;中不断运行上面三行代码。效果很好。
答案 1 :(得分:0)
使用此代码:
AudioManager audioManager = (AudioManager) yourActivity.getSystemService(Context.AUDIO_SERVICE);
audioManager.setMode(AudioManager.MODE_IN_CALL);
audioManager.setSpeakerphoneOn(true);
答案 2 :(得分:0)
This在我的InCallService调用setAudioRoute中为我工作:
setAudioRoute(ROUTE_SPEAKER);