Android 錄音實現

 在模擬器中沒法利用電腦的聲卡錄音,所以這個功能必須在真機上測試。錄音功能須要使用android.media.MediaRecorder來完成。使用MediaRecorder錄音須要經過以下6個步驟完成:java

(1)設置音頻來源(通常爲麥克風)。android

(2)設置音頻輸出格式。web

(3)設置音頻編碼方式。app

(4)設置輸出音頻的文件名。oop

(5)調用MediaRecorder類的perpare方法。測試

(6)調用MediaRecorder類的start方法開始錄音。編碼

實現錄音功能的完整代碼以下:spa

 

[java]   view plain copy
<EMBED id=ZeroClipboardMovie_1 name=ZeroClipboardMovie_1 type=application/x-shockwave-flash align=middle pluginspage=http://www.macromedia.com/go/getflashplayer height=18 width=18 src=http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf wmode="transparent" flashvars="id=1&width=18&height=18" allowfullscreen="false" allowscriptaccess="always" bgcolor="#ffffff" quality="best" menu="false" loop="false">
  1. MediaRecorder mediaRecorder = new MediaRecorder();  
  2. // 第1步:設置音頻來源(MIC表示麥克風)  
  3. mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);  
  4. //第2步:設置音頻輸出格式(默認的輸出格式)  
  5. mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);  
  6. //第3步:設置音頻編碼方式(默認的編碼方式)  
  7. mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);  
  8. //建立一個臨時的音頻輸出文件  
  9. audioFile = File.createTempFile("record_"".amr");  
  10. //第4步:指定音頻輸出文件  
  11. mediaRecorder.setOutputFile(audioFile.getAbsolutePath());  
  12. //第5步:調用prepare方法  
  13. mediaRecorder.prepare();  
  14. //第6步:調用start方法開始錄音  
  15. mediaRecorder.start();  


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

       中止錄音能夠使用MediaRecorder類的stop方法,代碼以下:code

[java]   view plain copy
<EMBED id=ZeroClipboardMovie_2 name=ZeroClipboardMovie_2 type=application/x-shockwave-flash align=middle pluginspage=http://www.macromedia.com/go/getflashplayer height=18 width=18 src=http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf wmode="transparent" flashvars="id=2&width=18&height=18" allowfullscreen="false" allowscriptaccess="always" bgcolor="#ffffff" quality="best" menu="false" loop="false">
  1. mediaRecorder.stop();  

 

       在生成amr文件後,能夠使用MediaRecorder來播放amr文件。

相關文章
相關標籤/搜索