Android中拍照和录像功能

本文介绍了在Android中如何使用CameraKit框架简化拍照和录像功能的实现,同时提到了利用Compressor库进行图片压缩。通过设置CameraListener监听拍照和录像事件,展示了关键代码示例,包括文件保存、图片压缩、照明控制等操作。
摘要由CSDN通过智能技术生成

目前Android中有很多项目需要实现拍照及录像功能,通常都使用camera和sufaceView实现,整个过程较为繁琐,并且代码量比较大。偶然在github上发现一个很好用的框架,在这里做一个简单介绍,后附github地址。

gif:


原项目中没有照明功能,由于项目中定义的camera我私有变量,如果需要照明功能的同学可以下载demo中的library,不需要的同学可以直接添加引用:

[java]  view plain   copy
  1. compile 'com.flurgle:camerakit:0.9.17'  

cameraview中拍照的图片一般在1M左右,需要上传的话最好先进行压缩,这里我引用了另一个github上的压缩工具,gradle引用:

[java]  view plain   copy
  1. //图片压缩  
  2. compile 'id.zelory:compressor:2.0.0'  

下面进入实际使用,首先是拍照和录像监听

[java]  view plain   copy
  1. mCameraView.setCameraListener(new CameraListener() {  
  2.     @Override  
  3.     public void onPictureTaken(final byte[] jpeg) {  
  4.         super.onPictureTaken(jpeg);  
  5.         new Thread(new Runnable() {  
  6.             @Override  
  7.             public void run() {  
  8.                 //将cameraview获得的byte数组存储到File文件中:  
  9.                 File file = CameraUtils.getFile(jpeg, getExternalCacheDir().getAbsolutePath(), System.currentTimeMillis() + "_original.jpg");  
  10.                 try {  
  11.                     //调用压缩方法进行压缩  
  12.                     final File compressedImageFile = new Compressor(MainActivity.this).setDestinationDirectoryPath(file.getParent()).compressToFile(file);  
  13.                     Log.i(TAG,
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值