效果图如下:
package com.example.android27_vedio;
import android.media.MediaRecorder;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.SurfaceView;
import android.view.View;
import java.io.IOException;
/**
* 录像机
* 相机横竖屏需在清单文件加 android:screenOrientation="landscape"
*/
public class LuxiangActivity extends AppCompatActivity {
private MediaRecorder mediaRecorder;
private SurfaceView sfv_lu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_luxiang);
sfv_lu = (SurfaceView) findViewById(R.id.sfv_lu);
//实例媒体录像器
mediaRecorder=new MediaRecorder();
}
public void start(View view){
mediaRecorder.reset();
//设置视频和音频的来源
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
//设置保存的格式
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
//设置编码格式
mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mediaRecorder.setVideoFrameRate(3);
//设置保存的路径
mediaRecorder.setOutputFile("mnt/sdcard/luping_"+System.currentTimeMillis()+".mp4");
//将画面展示到SurfaceView
mediaRecorder.setPreviewDisplay(sfv_lu.getHolder().getSurface());
//准备
try {
mediaRecorder.prepare();
mediaRecorder.start();
} catch (IOException e) {
e.printStackTrace();
}
}
public void stop(View view){
mediaRecorder.stop();
}
}
// <!-- 创建文件权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--录屏-->
// <uses-permissionandroid:name="android.permission.RECORD_AUDIO">
// </uses-permission>