我正在使用 AudioTrack 播放通过 UDP 套接字接收的声音。我的声音伴随着很多噪音,所以我决定使用 AudioManager。但是 AudioManager 改变了应用程序范围之外的声音路由。下面是我正在使用的代码。
m_amAudioManager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
m_amAudioManager.setMode(AudioManager.MODE_IN_CALL);
m_amAudioManager.setSpeakerphoneOn(false);
这段代码的问题是,当我关闭应用程序并启动音乐播放器时,声音来自前置扬声器而不是通常的后置扬声器,我无法以某种方式更改它。为了解决这个问题,我决定在关闭我的应用程序时添加以下行。
m_amAudioManager.setSpeakerphoneOn(true);
但是这条线的问题是,当我接到电话(普通电话)时,默认情况下扬声器是打开的。我真的需要帮助。