MediaRecorder
一、简介
使用MediaRecorder能够编写从设备麦克风与相机捕获音视频、保存音视频并(使用MediaPlayer)进行播放的应用。
(1) MediaRecorder
简单方便,不需要理会中间录制过程,结束录制后可以直接得到音频文件进行播放;录制的音频文件是经过压缩的,需要设置编码器;录制的音频文件可以用系统自带的播放器播放。
(2) AudioRecord
在声音录制过程中,可以处理采集的声音数据,如降噪、合成等。过程为一段一段进行录制然后得到数据分别进行处理。录制的是PCM格式的音频文件,需要用AudioTrack来播放,AudioTrack更接近底层。
二、权限申请
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.CAMERA" />
注意:在Android6.0以上权限动态申请
三、MediaRecorder状态机
四、基本使用
if (Textutils.equals(text, b:"开始")){
btn_opt.setText("结束");
Camera camera = Camera.open();
//设置预览时摄像头的角度
camera.setDisplayorientation(90);
camera.unlock();
mediaRecorder = new MediaRecorder();
mediaRecorder.setCamera(camera);
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.NIC);//设置音频源麦克风
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CANIERA);//设备视频源摄像头
mediaRecorder.setoutputFormat(NediaRecorder.OutputFormat.MPEG_4);//指定视频文件格式
mediaRecorder.setAudioEncoder(NediaRecorder.AudioEncoder.AAC);
mediaRecorder.