KO
|
EN
gitlite — search
Search
#python
#java
#python3
#arduino
#golang
#machine-learning
#rust
#html
#flask
#javascript
#seismology
#nodejs
CustomCamera
★ 13
Open GitHub ↗
一个灵活配置的自定义相机库(拍照+录制视频)
Download README (.md)
Explore Similar Repositories
Radio-Transmissions
:
Examples of transmitting computer data over radio waves
kong-custom-plugin
:
Kong API Gateway Custom plugin Hello World Sample
LineChartNotify
:
MPAndroidChart之LineChart使用
OpenCvFindDifferent
:
An example to show using OpenCvSharp deal with find difference game's image.
Free-Animated-SVG-Icons-from-D4V
:
A series of free animated SVG icons and UI elements
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
CustomCamera
?
Download (.md)
### 效果(gif有点卡) <!--  --> <div align=center><img width="auto" height="480" src="https://github.com/AnthonyCoder/CustomCamera/blob/master/gif/demo.gif"/></div> [点击下载预览apk](https://www.pgyer.com/CameraDemo) ### 基于原生Camera库cameralibrary支持的功能: * 一键配置基本的拍照和视频录制 * 可配置拍摄质量 * 自定义照片/视频的保存路径,以及文件名 * 可设置预览图像 * 可自定义拍照/录制的分辨率 * 内置相机设置项(SettingFragment) 可通过该Fragment设置相机拍摄/录制参数 ### 更新日志 * 1.0.2 : 1. 优化了相机对焦问题 2. 尽可能的让开发者少写代码,提高编码效率 * 1.0.1 : 1. 优化已知问题,规范代码库。 2. 添加是否从本地读取相机参数的功能 * 1.0.0 : 1. Builder模式初构,基本功能完善 ### 使用方式 一、引用类库 ``` repositories { jcenter() mavenCentral(); } dependencies { compile 'cn.geek.anthony:cameralibrary:1.0.1' } ``` 二、所需权限 ``` <uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera.autofocus" /> ``` 二、Java代码中的使用 1. 注意该自定义SurfaceView不能直接在layout直接使用,使用时候建议放入一个FrameLayout布局中,可以参考demo实现 2. 初始化CameraSurfaceView  这一步,我们可以配置拍摄的一些参数、保存地址、如果需要预览在某个ImageView上面,还可以设置预览控件等等。。 需要显示拍摄画面的时候请调用CameraSurfaceView实例对象的 startCamera() 方法。 3. SurfaceView绑定Activity/Fragment生命周期  4. 拍照/录制的方法 在需要拍照或者录制的时候调用一下方法: CustomCameraHelper.getInstance().startCamera(); 录制这块还有一个停止录制的方法: CustomCameraHelper.getInstance().stopRecording(); 当然录制状态这个也需要有一个方法暴露给开发者: CustomCameraHelper.getInstance().isRecording() 所以,使用录制功能,整体可以这样写:  使用拍照功能时候直接使用 startCamera() 方法即可拍照  5. 可配置项 我们在使用该库的时候可以自己通过方法配置比如保存地址、拍摄分辨率等等的参数,这个配置属性在源码中的 [CameraController.java](https://github.com/AnthonyCoder/CustomCamera/blob/master/cameralibrary/src/main/java/anthony/cameralibrary/CameraController.java) 文件中 配置项如下 setCameraType(ECameraType cameraType) ------>设置拍摄类型(拍照/录制) setJpegQuality(int quality) ------> 设置拍摄照片质量 setOutPutFilePath(String path) -----> 设置输出路径(完整路径) setOutPutDirName(String dirName) -----> 设置输出到指定文件夹内 setFileName(String fileName) -----> 设置输出文件名 setLoadSettingParams(boolean isload) ----> 设置是否加载本地参数(读取使用SP存储到本地的参数,SP存储对应的key具体的值定义在 [Constants.java](https://github.com/AnthonyCoder/CustomCamera/blob/master/cameralibrary/src/main/java/anthony/cameralibrary/constant/Constants.java) 中) setPreviewImageView(ImageView ivPreview) setPreviewImageView(int previewImgRes) -----> 设置画面预览的ImageView(视频预览默认是显示第一帧的画面预览) ### 实现思路 [大表哥带你一步一步用Builder模式实现自定义相机(拍照+录制,附源码)](https://www.jianshu.com/p/1f7a2def4670)