Android自定义照相机Camera出现黑屏的解决方法

Android自定义照相机Camera出现黑屏的解决方法,第1张

概述本文实例讲述了Android自定义照相机Camera出现黑屏的解决方法。分享给大家供大家参考,具体如下:

本文实例讲述了AndroID自定义照相机Camera出现黑屏的解决方法。分享给大家供大家参考,具体如下:

对于一些手机,像HTC,当自定义Camera时,调用Camera.Parameters的 parameters.setPrevIEwSize(wIDth,height)方法时,如果wIDth和height为奇数情况下,则会出现黑屏现象,解决办法可参考SDK提供的APIDemos中关于Camera的 例子:

List<Size> sizes = parameters.getSupportedPrevIEwSizes();Size optimalSize = getoptimalPrevIEwSize(sizes,w,h);parameters.setPrevIEwSize(optimalSize.wIDth,optimalSize.height);

同时,在HTC手机中,设置parameters.setPictureSize(wIDth,height)属性,也会导致黑屏,而在三星手机上则没有问题。还有如果设置setPrevIEwSize属性的宽高错误的话,拍出的照片也会存在失真等BUG,所以遇到适配问题时,最好的办法就是不设置PrevIEwSize和PictureSize属性

getoptimalPrevIEwSize方法

private Size getoptimalPrevIEwSize(List<Size> sizes,int w,int h) { final double ASPECT_TolERANCE = 0.05; double targetRatio = (double) w / h; if (sizes == null) return null; Size optimalSize = null; double minDiff = Double.MAX_VALUE; int targetHeight = h; // Try to find an size match aspect ratio and size for (Size size : sizes) { double ratio = (double) size.wIDth / size.height; if (Math.abs(ratio - targetRatio) > ASPECT_TolERANCE) continue; if (Math.abs(size.height - targetHeight) < minDiff) { optimalSize = size; minDiff = Math.abs(size.height - targetHeight); } } // Cannot find the one match the aspect ratio,ignore the requirement if (optimalSize == null) { minDiff = Double.MAX_VALUE; for (Size size : sizes) { if (Math.abs(size.height - targetHeight) < minDiff) {  optimalSize = size;  minDiff = Math.abs(size.height - targetHeight); } } } return optimalSize;}

更多关于AndroID相关内容感兴趣的读者可查看本站专题:《Android拍照与图片处理技巧总结》、《Android开发入门与进阶教程》、《Android多媒体 *** 作技巧汇总(音频,视频,录音等)》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》

希望本文所述对大家AndroID程序设计有所帮助。

总结

以上是内存溢出为你收集整理的Android自定义照相机Camera出现黑屏的解决方法全部内容,希望文章能够帮你解决Android自定义照相机Camera出现黑屏的解决方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1148631.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存