更改Android音频录制默认输入源

更改Android音频录制默认输入源,android,audiorecord,android-audiomanager,speaker,speakerphone,Android,Audiorecord,Android Audiomanager,Speaker,Speakerphone,我目前正在写一个应用程序,要求录音和音频数据的实时处理。为此,我使用了AudioRecord类。这一切都很好,除了在我的主要测试设备galaxy nexus上录制音频的默认设置是从后扬声器录制之外。我假设大多数手机的默认记录源都是背面或底部话筒,因为当你用手机打电话时,你的嘴靠近底部 然而,我的应用程序要求我从手机正面的扬声器录音,因此我希望有人能帮助我以编程方式更改录音输入源。我已经广泛地寻找了这个问题的答案 我考虑过的一些事情是: 使用AudioManager类并打开扬声器电话,例如: Au

我目前正在写一个应用程序,要求录音和音频数据的实时处理。为此,我使用了AudioRecord类。这一切都很好,除了在我的主要测试设备galaxy nexus上录制音频的默认设置是从后扬声器录制之外。我假设大多数手机的默认记录源都是背面或底部话筒,因为当你用手机打电话时,你的嘴靠近底部

然而,我的应用程序要求我从手机正面的扬声器录音,因此我希望有人能帮助我以编程方式更改录音输入源。我已经广泛地寻找了这个问题的答案

我考虑过的一些事情是:

  • 使用AudioManager类并打开扬声器电话,例如:

    AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE); am.setSpeakerphoneOn(true); AudioManager am=(AudioManager)getSystemService(Context.AUDIO\u服务); 上午10点,电话接通(真);
  • 在构建我的录音对象时更改AudioSource参数:

    AudioRecord ar = new AudioRecord(AudioSource.????, ..., ..., ..., ...); 音频记录ar=新的音频记录(音频源.??、…、…、…、…、…);
  • 我发现API对于音频源的格式不是很明确,所以我想知道是否有其他人一直在努力解决这个问题,并能为我指出正确的方向


    提前感谢,

    Android目前不支持通话录音,因此我相信您无法将其更改为通过听筒录音。你不应该真的需要,但是,在手机底部的麦克风应该能够记录的东西,以充分的能力,你需要的。要将录音设置到麦克风,只需执行以下操作:

    AudioRecord ar = new AudioRecord(AudioSource.MIC, ..., ..., ..., ...);
    

    这将为您提供最佳的录制质量。

    试试这个MediaRecorder.AudioSource.VOICE\u CALL..不过我没有使用MediaRecorder对象。。。。