设置拍照参数报RuntimeException: setParameters failed

            int PreviewWidth = 0;
            int PreviewHeight = 0;
           
            parameters = mCamera.getParameters();
            // 选择合适的预览尺寸
            List<Camera.Size> sizeList = parameters.getSupportedPreviewSizes();
            if (sizeList.size() > 1) {
                Iterator<Camera.Size> itor = sizeList.iterator();
                for (int i = 0; i < sizeList.size(); i++) {
                    Camera.Size cur = itor.next();

                    Log.d("alen", "width=" + cur.width + "hight=" + cur.height + "\n");

                }

                while (itor.hasNext()) {
                    Camera.Size cur = itor.next();
                    if (cur.width >= PreviewWidth
                            && cur.height >= PreviewHeight) {
                        PreviewWidth = cur.width;
                        PreviewHeight = cur.height;
                        break;
                    }
                }
            }
            
            //设置照片预览尺寸
            parameters.setPreviewSize(PreviewWidth, PreviewHeight);
            parameters.setJpegQuality(85);//设置照片质量  1-100
            parameters.setPictureFormat(PixelFormat.JPEG);//设置照片输出的格式
            //设置照片尺寸
            parameters.setPictureSize(PreviewWidth, PreviewHeight);     
            parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);//1连续对焦
            mCamera.setParameters(parameters);
            mCamera.startPreview();
            SAFECAMERASTATUS = true;//相机安全
            mCamera.cancelAutoFocus();// 2如果要实现连续的自动对焦,这一句必须加上

设置相机拍照参数的时候遇到了RuntimeException: setParameters failed错误,定位到问题是获得的PreviewWidth和PreviewHeight为0,照片预览尺寸和照片尺寸都被设置为0了,所以会报错。

解决方法一:把照片预览尺寸和照片尺寸设置为固定的值   小米6PreviewWidth=1280 PreviewHeight=720

小米3PreviewWidth=800 PreviewHeight=600   其他机型未知

 

解决方法二:把setPreviewSize和setPictureSize这两个方法注释掉

 

目前没有找到更好的解决方法,求高手赐教!

java.lang.RuntimeException: Manifest merger failed with multiple errors, see logs是指在Android开发中,当进行清单文件合并时出现了多个错误。这个错误通常会在控制台中以红色错误信息的形式显示。 这个错误的等级是高的,因为解决起来可能会比较困难,特别是对于新手来说。 要解决这个问题,首先需要查看控制台中的错误信息,并向上查看以找到关键信息。 另外,有时候这个错误可能与其他错误有关,比如javax.net.ssl.SSLException: java.lang.RuntimeException: Could not generate DH keypair。 所以在解决Manifest merger failed的问题之前,也需要解决其他相关错误。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [java.lang.RuntimeException: Manifest merger failed with multiple errors](https://blog.csdn.net/qq_34823218/article/details/119150453)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [javax.net.ssl.SSLException: java.lang.RuntimeException: Could not generate DH keypair 解决方法总结](https://download.csdn.net/download/weixin_38663608/12747391)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值