1. 程式人生 > >Android 錄音實現

Android 錄音實現

     在模擬器中無法利用電腦的音效卡錄音,因此這個功能必須在真機上測試。錄音功能需要使用android.media.MediaRecorder來完成。使用MediaRecorder錄音需要通過如下6個步驟完成:

(1)設定音訊來源(一般為麥克風)。

(2)設定音訊輸出格式。

(3)設定音訊編碼方式。

(4)設定輸出音訊的檔名。

(5)呼叫MediaRecorder類的perpare方法。

(6)呼叫MediaRecorder類的start方法開始錄音。

實現錄音功能的完整程式碼如下:

MediaRecorder mediaRecorder = new MediaRecorder();
// 第1步:設定音訊來源(MIC表示麥克風)
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
//第2步:設定音訊輸出格式(預設的輸出格式)
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
//第3步:設定音訊編碼方式(預設的編碼方式)
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
//建立一個臨時的音訊輸出檔案
audioFile = File.createTempFile("record_", ".amr");
//第4步:指定音訊輸出檔案
mediaRecorder.setOutputFile(audioFile.getAbsolutePath());
//第5步:呼叫prepare方法
mediaRecorder.prepare();
//第6步:呼叫start方法開始錄音
mediaRecorder.start();


       上面的程式碼指定了一個臨時的音訊輸出檔案,這就意味著每次將生成不同的音訊檔案。檔名的格式是record_N.amr,其中N是整數。在錄完音後,在SD卡的根目錄會看到很多這樣的檔案(由錄音的次數多少決定amr檔案的多少)。

       停止錄音可以使用MediaRecorder類的stop方法,程式碼如下:

mediaRecorder.stop();

       在生成amr檔案後,可以使用MediaRecorder來播放amr檔案。