Android基礎入門教程——9.4 使用MediaRecord錄音
Android基礎入門教程——9.4 使用MediaRecord錄音
標籤(空格分隔): Android基礎入門教程
本節引言
本節是Android多媒體基本API調用的最後一節,帶來的是MediaRecord的簡單使用,
用法非常簡單,我們寫個例子來熟悉熟悉~
1.使用MediaRecord錄製音頻
運行結果:
實現代碼:
布局代碼:activity_main.xml:
MainActivity.java:
public class MainActivity extends AppCompatActivity { private Button btn_control; private boolean isStart = false; private MediaRecorder mr = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn_control = (Button) findViewById(R.id.btn_control); btn_control.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(!isStart){ startRecord(); btn_control.setText(停止錄製); isStart = true; }else{ stopRecord(); btn_control.setText(開始錄製); isStart = false; } } }); } //開始錄製 private void startRecord(){ if(mr == null){ File dir = new File(Environment.getExternalStorageDirectory(),sounds); if(!dir.exists()){ dir.mkdirs(); } File soundFile = new File(dir,System.currentTimeMillis()+.amr); if(!soundFile.exists()){ try { soundFile.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } mr = new MediaRecorder(); mr.setAudioSource(MediaRecorder.AudioSource.MIC); //音頻輸入源 mr.setOutputFormat(MediaRecorder.OutputFormat.AMR_WB); //設定輸出格式 mr.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_WB); //設定編碼格式 mr.setOutputFile(soundFile.getAbsolutePath()); try { mr.prepare(); mr.start(); //開始錄製 } catch (IOException e) { e.printStackTrace(); } } } //停止錄製,資源釋放 private void stopRecord(){ if(mr != null){ mr.stop(); mr.release(); mr = null; } }}