Skip to content

xuqiqiang/EasyCamera2

Repository files navigation

EasyCamera2

基于camera2的相机框架

本项目基于Google官方的Camera2Basic项目,并进行了大量的优化和功能扩展。将所有的功能封装成一个library,方便开发者引入,轻松实现项目中的camera功能。

Camera2是Google在Android 5.0中全新设计的框架,相机模块是和硬件紧密相关的,Camera2中引入很多的特性,厂商的支持情况各有差异,所以Google定义了硬件兼容级别,方便开发者参考。

  • 硬件兼容性:LEGACY < LIMITED < FULL < LEVEL_3。

本项目根据设备Camera2的硬件兼容情况,兼容性为LEGACY以下的默认为camera api 1版本;其他默认为camera api 2版本。本项目的所以功能都基于camera api 1和api 2有相同的实现,可以随意切换api。

本项目在Google官方的项目基础上实现了以下扩展和优化:

  • 解决了开启闪光灯拍照暗的问题
  • 解决了自动闪光灯无法触发闪光的问题
  • 解决了部分机型预览和拍照暗的问题
  • 实现了照片和视频方向修正
  • 实现了手动对焦
  • 实现了手动缩放
  • 实现了预览界面的实时滤镜调节
  • 实现了二维码、条形码实时识别
  • 可以手动调节焦距(仅api2,部分机型支持)
  • 可以同时打开前后摄像头(仅api2,部分机型支持)
  • 可以获取yuv格式的图片

功能插件:

Demo app: https://github.com/xuqiqiang/EasyCamera2App

Gradle dependency

allprojects {
        repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

dependencies {
	implementation 'com.github.xuqiqiang:EasyCamera2:1.0.1'
}

Usage

Simple demo

Wiki

License

Apache License

About

基于camera2的相机框架

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages