Quantcast
Channel: Sam的技术Blog
Viewing all articles
Browse latest Browse all 158

AndroidCamera程序研究

$
0
0
作者: Sam (甄峰) sam_code@hotmail.com

Sam在Android平台下获取Camera数据,长期使用在NativeC层,利用V4L2接口获取Camera数据。或利用交叉编译OpenCV,并强行修改其底层, 使之使用V4L2接口而获得Camera数据。

在Android APP层面,在Android4.0之前,使用API获取Camera数据,只需要添加权限即可正常工作。在Android6.0时代,只知道需要动态权限,但没有真正使用过。 有一次和朋友交流时, 他提到Saki4510t/UVCCamera项目(https://github.com/saki4510t/UVCCamera)。Sam其实很疑惑为何需要用此种方式获取Camera数据。Android系统难道不允许APP去拿 Camera数据么?所以研究之。

1. 在Android 5.1.1平台利用系统自带Camera获取数据: 

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

intent.putExtra(MediaStore.EXTRA_OUTPUT, your-store-uri);
startActivity(intent);


利用putExtra指定存储路径,还可以指定其它Camera设置。拍照完成后,可以存指定路径获取照片或视频。

2.在Android7.1.2平台利用系统自带Camera获取数据

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);


利用putExtra指定存储路径,还可以指定其它Camera设置。拍照完成后,可以存指定路径获取照片或视频。
intent.putExtra(MediaStore.EXTRA_OUTPUT, your-store-uri);
startActivity(intent);


3.使用 android.hardware.Camera 在早期Android版本使用:


4. 使用android.hardware.Camera2 在Android6.0上使用(动态权限):



 

Viewing all articles
Browse latest Browse all 158

Trending Articles