您的位置:首页 > 移动开发 > Android开发

Android自定义相机拍摄黑屏

2017-11-22 17:06 134 查看
速记,备查。

1、需求场景

拍摄20秒 + 视频质量不能太低 + 视频大小不能超过5M;

2、方案

调用系统相机和自定义相机;

1、调用系统相机(不满足需求)

视频质量只能设置高(1)和低(0),高的话,拍出来的视频太大;低的话,拍出来的视频大小满足,但是质量惨不忍睹;而且,即使设置了拍摄时常,很多手机的计数仍在继续;

2、自定义相机

自定义相机,需要设置的参数很多,尤其是进行视频拍摄。至于如何设置这些参数(SurfaceHolder、Camera、MediaRecorder等),网上的资料很多,可以自行百度。

3、遇到的问题

mediaRecorder.setVideoSize(videoWidth, videoHeight);在设置拍摄视频的分辨率的时候,小米手机竟然卡死黑屏了,而且我再去用系统的相机,竟然也黑屏了。f**k,相机被玩死了。
首先想到的是,自己设置的分辨率不支持?那怎么获取支持的分辨率呢?

List<Camera.Size> list = mCamera.getParameters().getSupportedPictureSizes();在Camera的Api中,我们可以获取其参数,进而通过getSupportPictureSizes()获取一个支持的分辨率的列表。从中挑选一个你感觉合适的分辨率设置上就可以了。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: