5

我目前正在編寫一個應用程序,要求錄製和實時處理音頻數據。爲此,我使用AudioRecord類。除了在我的主要測試設備上記錄音頻的默認設置(星系連線),從後面的揚聲器進行錄製外,這一切都運行良好。我假設大多數手機的默認錄音源是背面麥克風,因爲當您使用手機撥打電話時,您的嘴巴靠近底部。更改Android音頻錄製默認輸入源

但是,我的應用程序要求我從電話正面的揚聲器錄音,所以我希望有人能夠幫助我如何以編程方式更改AudioRecord輸入源。我已經廣泛搜索了這個答案。

我已經考慮的一些事情是:

  • 使用AudioManager類和打開免提電話上,如:

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

  • 改變的AudioSource參數在我AudioRecord建設object:

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

  • 我發現這些API對哪些AudioSource格式不太具體,所以我想知道是否有其他人一直在努力解決這個問題,並指出我的方向是正確的。

    由於提前,

    +0

    試試這個MediaRecorder.AudioSource.VOICE_CALL .. – Sandeep 2012-04-28 04:32:05

    +0

    雖然我沒有使用MediaRecorder對象.... – lbrendanl 2012-04-29 03:09:06

    回答

    0

    的Android目前不支持通話錄音,所以我相信你不能改變它從聽筒記錄。然而,你不應該真的需要,手機底部的麥克風應該能夠記錄你需要的全部容量。要將AudioRecord設置爲麥克風,只需執行以下操作:

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

    這會爲您提供最佳錄音質量。