在Android系统中调用系统前置摄像头
从Android 2.3 Gingerbread开始,原生支持前置摄像头。下面我们看看如何在程序里来调用前置的摄像头。
第一种方式是采用MediaStore,调用系统原生的相机。
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);intent.putExtra("camerasensortype", 2); // 调用前置摄像头intent.putExtra("autofocus", true); // 自动对焦intent.putExtra("fullScreen", false); // 全屏intent.putExtra("showActionIcons", false);startActivityForResult(intent, PICK_FROM_CAMERA);
另外一种方式是采用Camera框架,以前版本的SDK里只有Camera.open()方法来调用后置摄像头,现在此方法接受一个参数来确定是前置摄像头还是后置摄像头。我们还根据新的Camerainfo类和getCameraInfo方法来获取Android设备上的详细的摄像头信息,getNumberOfCameras()来获取摄像头的数量。典型的调用方式如下:
int cameraCount = 0;Camera cam = null;Camera.CameraInfo cameraInfo = new Camera.CameraInfo();cameraCount = Camera.getNumberOfCameras(); // get cameras numberfor ( int camIdx = 0; camIdx < cameraCount;camIdx++ ) {Camera.getCameraInfo( camIdx, cameraInfo ); // get camerainfoif ( cameraInfo.facing ==Camera.CameraInfo.CAMERA_FACING_FRONT ) { // 代表摄像头的方位,目前有定义值两个分别为CAMERA_FACING_FRONT前置和CAMERA_FACING_BACK后置try { cam = Camera.open( camIdx );} catch (RuntimeExceptione) {e.printStackTrace();}}
采用Camera框架的好处在于自身提供了大量的API例如setDisplayOrientation、Camera.Parameters来实现强大的功能,另外结合urfaceHolder.Callback、ShutterCallback和PictureCallback等接口后可以进行界面和功能的自定义,可以自由的实现所需要的界面布局和图像处理效果。例如如下的界面:
在Android系统中调用系统前置摄像头相关推荐
- Android开发中调用系统窗口的方法
//直接拨号 Intent callIntent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:12345678")); start ...
- 安卓java摄像机的_在Android系统中调用系统前置摄像头
从Android 2.3 Gingerbread开始,原生支持前置摄像头.下面我们看看如何在程序里来调用前置的摄像头. 第一种方式是采用MediaStore,调用系统原生的相机. Intent int ...
- Java乔晓松-android中调用系统拍照功能并显示拍照的图片
android中调用系统拍照功能并显示拍照的图片 如果你是拍照完,利用onActivityResult获取data数据,把data数据转换成Bitmap数据,这样获取到的图片,是拍照的照片的缩略图 代 ...
- Android多层嵌套Fragment中调用系统相机拍照以及裁剪的相关问题解决
多层嵌套Fragment中调用系统相机拍照.裁剪 最近公司项目有频繁使用相机拍照的需求,然后频繁的实际使用过程中遇到很多大大小小的坑,在此记录下. (ps.关于一些拍照后图片旋转.裁剪设置返回数据为t ...
- 安卓手机如何打开php文件夹,Android_Android中调用系统的文件浏览器及自制简单的文件浏览器,调用系统自带的文件浏览器- phpStudy...
Android中调用系统的文件浏览器及自制简单的文件浏览器 调用系统自带的文件浏览器这很简单: /** 调用文件选择软件来选择文件 **/ private void showFileChooser() ...
- C#在winform中调用系统控制台输出
SeayXu 原文C#在winform中调用系统控制台输出 在Winform程序中有时候调试会通过Console.Write()方式输出一些信息,这些信息是在Visual Studio的输出窗口显示. ...
- android拍照保存到系统相册,调用系统相机拍照,并且保存到系统相册的一般套路...
最近遇到也一个需求:调用系统相机拍照,并且照片可以在系统相册显示. 关于照片显示在系统相册这个问题,因为安卓机型太多了,各大厂商都对原生系统进行了不同程度的定制,所以在一般情况下,有的手机会把图片直接 ...
- iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,appstore,拨打电话,iTunes,iBooks )...
在网上找到了下在记录下来以后方便用 在程序中调用系统自带的应用,比如我进入程序的时候,希望直接调用safar来打开一个网页,下面是一个简单的使用: 查看更多iPhone应用程序的调用和第三方应用程序的 ...
- [Android多媒体二]调用系统录音机录音并存储到指定位置,适配安卓 7.0
接上一篇文章,[Android多媒体一]调用系统相机拍照并存储到指定位置,适配安卓 7.0 本文讲述如何调用系统录音机,完成录音后,对录音进行指定位置的保存. 一.开始编写 首先,还是理清一下思路,在 ...
最新文章
- linux关闭防火墙命令firewall
- Adobe (Acrobat)Reader 6.0以上版本支持对有特殊权限的PDF进行添加注释,填写标单以及保存的功能。...
- HOG特征(Histogram of Gradient)学习总结
- python打印字符金字塔_Python教程第7篇:print打印字符串
- 行DataRow对象的属性和方法
- HTML 标题h1-h6
- phpzend框架_PHP框架Zend
- 字符集本地化(locale)与输入法系列讲座-----(1) UTF-8 and Unicode FAQ
- java名片_JAVAeclipse3制作名片
- zabbix安装教程
- 输出100以内的所有素数
- 红耳朵象全国战略,让大众享受上门洗车的福利
- EDK环境搭建UEFI工程模块文件介绍
- Excel根据身份证号自动识别性别
- MES系统如何实现无纸化?(下)
- ubuntu 内存占用过高导致卡死 解决办法
- 在word/wps插入代码+保持源代码风格+加行号
- 江苏省计算机一级主要考什么,江苏省计算机一级考试复习资料 很全面的
- Centos7 定时关机
- ZooKeeper各个版本下载
热门文章
- python掷两个骰子的和_python之pygal:掷两个不同的骰子并统计大小出现次数
- excle中根据两列内容匹配第三列数据
- 电子商务O2O不是零售业的“补充”,它将毁灭零售业!
- 城轨交通系统中智能化管理的作用分析
- 构建微服务的十大 Go 框架/库
- 魔法深渊 - Java
- SpringData @Query和@Modifying注解原理解析
- Win11快速打开便签和使用技巧分享
- [脚本之间]C语言解析Python字典
- U盘打不开,提示格式化怎么办?不小心确定U盘格式化如何找回数据?