本文主要探讨搭建一款Android平台下美颜相机可能需要填的坑,内容会不断更新。。
相机框架
相机框架相对比较简单,现有的开源代码很多,可以很容易的实现拍照和录像的功能。
预览尺寸选择
预览尺寸就是相机显示纹理的尺寸,也是每一帧原始数据的尺寸,一般相对拍照尺寸较低(1080P就算比较高的预览尺寸了)
拍照尺寸选择
拍照尺寸只在拍照时起作用,往往可以调的很高,而且获取数据非常快(例如1300万像素,相当于1080P数据的7倍左右)
拍照:
已被弃用的Camera API可以提供takePicture进行拍照,在onPictureTaken(final byte[] data, final Camera camera)中可以获得包括了Exif数据的图片,直接写入到文件就是一张没有做过任何处理的照片,也可以转成bitmap再做处理(图片尺寸就是拍照尺寸),但是很容易出现OOM的问题,例如1300万像素的照片至少占内存50M,分分钟死给你看。
录像
:使用MediaRecorder可以进行录像,相机需要在录像模式和预览模式之间切换,使用较为方便
获取每一帧数据
:onPreviewFrame(byte[] data, Camera camera)中可以获取到每一帧的原始数据,如果处理不及时下一帧就会被丢弃,帧率并不是固定的(也就是可能比相
版权声明:本文为Martin20150405原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。