2012-03-30 79 views
0

現在我正在開發一個Android應用程序來錄製語音。我通過使用下面的代碼來做到這一點。android錄音音量變化

m_recorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
    m_recorder.setOutputFormat(OutputFormat.THREE_GPP); 

    m_recorder.setAudioEncoder(AudioEncoder.AMR_NB); 
// m_recorder.setAudioEncoder(MediaRecorder.getAudioSourceMax()); 
    m_recorder.setAudioEncodingBitRate(128); 
    m_recorder.setAudioSamplingRate(44100); 

    m_recorder.setOutputFile(Environment.getExternalStorageDirectory() + "/audio.3gp"); 
     try { 
      m_recorder.prepare(); 
      m_recorder.start(); 
     } 

但被我越來越低容積sounds.I問題曾經在網上搜索solution.All我得到的是

「有沒有辦法做到這一點,同時記錄 - 但同時播放,您可以使用MediaPlayer上的setVolume(float,float)方法。「 」。

但是我必須將錄製的剪輯上傳到服務器。所以有什麼方法可以將低音量的聲音剪輯轉換爲高音量剪輯嗎?

回答

-3

我用這個代碼,記錄和保存文件和它的工作對我來說:

    recorder = new MediaRecorder(); 
        FileOutputStream fos = openFileOutput(fileNameStr, 
          MODE_PRIVATE); 

        recorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
        recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); 
        recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 
        recorder.setOutputFile(fos.getFD()); 
        recorder.prepare(); 
        recorder.start(); 
+0

就是在我們的代碼有什麼區別? – sarath 2012-03-30 12:57:41

+0

這些行做了什麼m_recorder.setAudioEncodingBitRate(128); m_recorder.setAudioSamplingRate(44100); – Goofy 2012-03-30 13:26:20

+0

我用這條線來改善聲音質量......我嘗試了ur代碼....那是什麼filenamestr變量?... – sarath 2012-03-30 13:28:21