【问题标题】:playing sound on external speaker with active call on internal speaker simulteniously in android在 android 中同时在外部扬声器上播放声音,同时在内部扬声器上进行活动呼叫
【发布时间】:2012-10-16 14:19:18
【问题描述】:

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

当我接到来电时它工作正常,它会在外部扬声器上开始播放音乐,但是当我接听电话时,我有 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();

【问题讨论】:

  • 有什么方法可以成功实现
  • 在通话过程中有助于将音乐声音传输到另一端的任何代码

标签: java android audio playback


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-18
    • 1970-01-01
    相关资源
    最近更新 更多