Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android多媒體學習八:調用Android自帶的音頻錄制程序,實現錄制

Android多媒體學習八:調用Android自帶的音頻錄制程序,實現錄制

編輯:Android開發實例

Android中有自帶的音頻錄制程序,我們可以通過指定一個Action為MediaStore.Audio.Media.RECORD_SOUND_ACTION的Intent來

啟動它就可以了。然後在onActivityResult()方法中,獲取Intent的Data,就是錄制的音頻對應的URI。

代碼:

 

  1. package demo.camera;  
  2. import android.app.Activity;  
  3. import android.content.Intent;  
  4. import android.net.Uri;  
  5. import android.os.Bundle;  
  6. import android.provider.MediaStore;  
  7. import android.view.View;  
  8. import android.widget.Toast;  
  9. /**  
  10.  * 被實例演示如何調用Android自帶的應用來完成Audio的錄入  
  11.  * 其實很簡單,我們需要指定一個MediaStore.Audio.Media.RECORD_SOUND_ACTION的Action來啟動就可以  
  12.  * 返回的Data數據就是我們錄制的音頻的URI了  
  13.  *   
  14.  * 通過上面這種方式,靈活性不夠高,我們可以利用MediaRecorder類來實現自己的音頻錄制程序  
  15.  * MediaRecorder既可以用來錄制音頻,也可以用來錄制視頻  
  16.  * 創建了一個MediaRecorder實例後,需要調用setAudioSource和setAudioEncoder來初始化  
  17.  * 通常情況下,在准備錄制前,我們還需要調用setOutputFormat()方法來決定使用的音頻格式,同時調用  
  18.  * setOutputFile()來指定存放錄制內容的文件  
  19.  *   
  20.  * 這幾個方法的調用順序是:setAudioSource,setOutputFormat,setAudioEncoder,setOutputFile  
  21.  *   
  22.  *   
  23.  *   
  24.  * @author Administrator  
  25.  *  
  26.  */ 
  27. public class AudioRecordDemo extends Activity {  
  28.       
  29.       
  30.     public void onCreate(Bundle savedInstanceState){  
  31.         super.onCreate(savedInstanceState);  
  32.         setContentView(R.layout.audio_record);  
  33.     }  
  34.       
  35.     public void onActivityResult(int requestCode, int resultCode, Intent data){  
  36.         //super.onActivityResult(requestCode, resultCode, data);  
  37.         //這裡我們就可以獲取到剛剛錄制的音頻的Uri,可以進行播放等操作,這裡顯示返回的Uri  
  38.         if(resultCode == RESULT_OK){  
  39.             Uri audioPath = data.getData();  
  40.             Toast.makeText(this, audioPath.toString(), Toast.LENGTH_LONG).show();  
  41.         }  
  42.     }  
  43.       
  44.     public void onClick(View v){  
  45.         int id = v.getId();  
  46.         switch(id){  
  47.         case R.id.btn1:  
  48.             //調用Android自帶的音頻錄制應用  
  49.             Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);  
  50.             startActivityForResult(intent, 0);  
  51.             break;  
  52.         case R.id.btn2:  
  53.             //通過MediaRecorder類來實現自己的音頻錄制程序  
  54.             Intent intent2 = new Intent();  
  55.             intent2.setClass(this, MyAudioRecord.class);  
  56.             startActivityForResult(intent2, 1);  
  57.             break;  
  58.         case R.id.btn3:  
  59.             //通過AudioRecord類實現自己的音頻錄制程序  
  60.             Intent intent3 = new Intent();  
  61.             intent3.setClass(this, MyAudioRecord2.class);  
  62.             startActivityForResult(intent3, 2);  
  63.             break;  
  64.         }  
  65.     }  
  66. }  
  67.  

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved