0

我正在构建一个在来电期间播放背景音乐的应用程序。

当我接到来电时它工作正常,它会在外部扬声器上开始播放音乐,但是当我接听电话时,我会setSpeakerphoneOn(true)在外部扬声器上播放音乐和来电者的声音,但麦克风没有接收到播放的声音,它只会接收我的声音。

我哪里错了,我不知道。知道的人请告诉我。我将不胜感激。

m_audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
Log.d("Is phone speaker : ","IDLE-1-->"+ m_audioManager.isSpeakerphoneOn());
m_audioManager.setMode(AudioManager.MODE_IN_CALL);    
m_audioManager.setSpeakerphoneOn(true); 
RecieverDialog.mp.start();
4

1 回答 1

0

通过在手机的扬声器中播放并通过手机的麦克风录制的任何音频质量都很差,因为手机扬声器通常不是很好,而且您很少处于无噪音、无回声的环境中。

至于为什么在您的用例中音乐会变得静音或严重衰减:您的手机可能正在使用两个(或更多)麦克风进行噪音抑制,其中来自一个麦克风的信号可以用作噪音的一种参考你周围的环境。
该算法的目标是消除所有周围的噪音,以便通话另一端的人只能听到您的声音。根据麦克风的位置和算法的调整,您正在播放的音乐可能被认为是噪声,因此在上行链路信号中被抑制。

于 2012-10-26T11:40:34.547 回答