我需要通过耳机播放一些音频。我正在使用AudioTrack在设备上播放一些声音。音频模式设置为STREAM_VOICE_CALL。 此外,在我的活动中,免提电话被关闭:
AudioManager am;
am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
am.setSpeakerphoneOn(false);
这似乎在2.3设备上完美运行。但是在2.1上,扬声器仍然播放声音。
作为对此的修复,我尝试将setMode()用作:
am.setMode(AudioManager.MODE_IN_CALL);
有了这个,声音通过听筒播放2.1和2.3,但大部分时间都没有播放2.3。 另外,我在某些地方读到应用程序不应该使用setMode(),因为它会影响系统范围的手机状态。 在这里:http://code.google.com/p/sipdroid/issues/detail?id=270
任何帮助?
答案 0 :(得分:0)
2.3以下,Android setSpeakerPhoneOn()
有点儿错误。根据{{3}},我认为您需要使用这两种API方法。
关于2.3根本没有播放的音频,请检查您的通话音量设置(将使用的是什么)。在使用setMode()
之前,请尝试并跟踪手机所处的状态,一旦音频管理器不再使用,可能会将其重新设置为MODE_NORMAL
。