更改Android的音频记录的默认输入源(Change Android Audio Record D

2019-09-16 19:53发布

我目前正在写,对于音频数据的记录和实时处理要求的应用程序。 对于这一点,我使用的是AudioRecord类。 这工作都很好,除了默认设置为我的主要测试设备,Galaxy Nexus的上录制音频,是从后置扬声器记录。 我假设大多数电话默认记录来源将是背部,或底部的麦克风,因为当你在使用手机打电话,你的嘴是接近底部。

然而,我的应用程序需要我从扬声器记录在手机正面,所以我希望有人能帮助我如何以编程方式更改AudioRecord输入源。 我已经广泛地搜索了这个问题的答案。

我已经考虑了一些事情:

  • 使用AudioManager类并打开免提电话,如:

    AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
    am.setSpeakerphoneOn(true);

  • 更改参数的AudioSource我AudioRecord对象的构造:

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

  • 我发现,API的都没有太具体的有关其的AudioSource格式是哪个,所以我想知道是否有人有这个问题挣扎着,可以点我在正确的方向。

    提前致谢,

    Answer 1:

    Android的目前不支持通话录音,所以我相信你不能改变它从听筒记录。 你不应该真的需要但是,麦克风在手机的底部应该能够事情记录到你所需要的全部能力。 要将AudioRecord设置为MIC,只是做:

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

    这会给你最好的刻录品质。



    文章来源: Change Android Audio Record Default input Source