【发布时间】:2016-02-21 01:55:29
【问题描述】:
这个问题已经在这个网站上被问过两次了,但是这个代码似乎根本不能在现代手机上运行。我正在开发 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 上其他两个问题的解决方案,但它根本不起作用。它应该,代码很好,但它根本对音频没有任何作用。
想法?
【问题讨论】:
-
您是否在开发者网站上查看过此引用“您只能将音频数据播放到标准输出设备。目前,即移动设备扬声器或蓝牙耳机。您无法播放声音文件通话期间的对话音频。” ----developer.android.com/guide/topics/media/mediaplayer.html
-
通话中能否通过手机扬声器或耳机播放声音文件?
-
是的,我在上面说过,它工作得很好。令人尴尬的是,在我发布这个问题一个小时后,我找到了解决方案。我在重复运行上述代码的“while(true)”中创建了一个单独的线程。这样扬声器就打开了,音乐随着通话一起播放。
标签: android volume phone-call speaker