0
点赞
收藏
分享

微信扫一扫

Android 多媒体应用:MediaRecorder 录制音视频 之 音频

郝春妮 2022-08-19 阅读 57


一、MediaRecord简单介绍

  手机为我们提供了麦克风硬件,我们可以通过麦克风实现音频的录制。这里Android为我们提供了MedioRecorder来录制音频与视频。下图就是MediaRecorder的状态转换图。

Android 多媒体应用: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"/>


举报

相关推荐

0 条评论