一、MediaRecord简单介绍
手机为我们提供了麦克风硬件,我们可以通过麦克风实现音频的录制。这里Android为我们提供了MedioRecorder来录制音频与视频。下图就是MediaRecorder的状态转换图。
音频状态转换
reset()–setAudioSource()设置声音来源MIC–setOutputFormat()设置所录制的音频文件的格式–setAudioEncoder()设置所录制声音的编码格式–setOutputFile()设置录制音频文件的保存位置–prepare()–start()–stop()–reset()–release()释放资源
视频状态转换类似,可以直接看图
二、代码小例
关于MediaRecorder的使用我们可以自己查询API根据状态的转换进行直接设置,而且API里本身就有关于MediaRecorder使用的范例,按照范例使用即可。
1、布局文件中是两个按钮,一个开始一个停止。
2、MainActivity:监听按钮,停止录制的时候注意释放资源。
.getId()) {
case R.id.btn_start_record:
mediarecord = new MediaRecorder();
mediarecord.setAudioSource(MediaRecorder.AudioSource.MIC);
mediarecord.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mediarecord.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mediarecord.setOutputFile(Environment.getExternalStorageDirectory()
+ "/myrecorder.3gp");
try {
mediarecord.prepare();
mediarecord.start();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
break;
case R.id.btn_end_record:
mediarecord.stop();
mediarecord.reset();
mediarecord.release();
break;
default:
break;
3、注意添加权限
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>