通过Intent启动摄像头可以快速实现视频/图片的录制,但是这种方式调用的不是“摄像头”,而是Android设备的“摄像程序”,是手机厂商封装好的功能
@Override
public void onCreate(Bundle savedInstanceState) {
Log.i("CAMERA", "开始执行Activity");
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.i("CAMERA", "加载XML结束");
// 创建新的Intent
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
// 创建保存视频的文件
fileUri = getOutputMediaFileUri(MEDIA_TYPE_VIDEO);
// 设置视频文件名
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
// 设置视频的品质为高
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
// 启动视频捕获Intent
startActivityForResult(intent, CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE);
}
其中getOutputMediaFileUri(int type)就是返回一个File,是媒体存储的路径
/** 为保存图片或视频创建File */
private static File getOutputMediaFile(int type){
// 生成一个File
}
还是那句,使用Intent调用的是手机厂商的摄像功能,貌似保存的文件并没有进入指定的文件夹中,很是不解......