美文网首页
关于 拍摄视频 java.lang.RuntimeExcepti

关于 拍摄视频 java.lang.RuntimeExcepti

作者: Boyko | 来源:发表于2018-03-16 09:32 被阅读0次

    用华为手机测试小视频功能,在调用小视频时,竟然崩溃了.
    报错内容是

    RuntimeException: setDataSource failed: status = 0xFFFFFFEA in setDataSource()
    

    然后开始排查,找资料.以为是参数设置问题,和华为手机不兼容,毕竟在其他手机没事,当通过手机文件管理器检查文件时发现,本地文件是 0KB ,所以就定位到开始拍摄的方法,结果在调用 mMediaRecorder.start() 时,抛了异常,

     java.lang.RuntimeException: start failed
    

    针对这个异常开始百度谷歌,网上也有很多文章去写这个,有的说是录像参数设置导致的,也有的说是SDK版本导致的,经过各种实验并没有解决问题,最后改了下拍摄视频的分辨率从自动运算最优分辨率改为 640*480,结果就好了..... 好了....

    临时将以前的方法更改了一下,问题就解决了,以后再具体查一下什么原因导致的

        /**
         * 获取手机相机所支持的分辨率,并取第二位的分辨率为拍摄分辨率
         *
         * @return
         */
        private Camera.Size getOptimalSize(List<Camera.Size> sizes, int w, int h) {
            Camera.Size optimalSize = sizes.get(sizes.size() > 1 ? 1 : 0);
             /*
                注释以下代码原因,在有些手机上, 如华为,
                最佳分辨率拍摄会导致,拍摄失败
                java.lang.RuntimeException: start failed
              */
    //        float targetRadio = h / (float) w;
    //        float optimalDif = Float.MAX_VALUE; //最匹配的比例
    //        int optimalMaxDif = Integer.MAX_VALUE;//最优的最大值差距
    //        for (Camera.Size size : sizes) {
    //            float newOptimal = size.width / (float) size.height;
    //            float newDiff = Math.abs(newOptimal - targetRadio);
    //            if (newDiff < optimalDif) { //更好的尺寸
    //                optimalDif = newDiff;
    //                optimalSize = size;
    //                optimalMaxDif = Math.abs(h - size.width);
    //            } else if (newDiff == optimalDif) {//更好的尺寸
    //                int newOptimalMaxDif = Math.abs(h - size.width);
    //                if (newOptimalMaxDif < optimalMaxDif) {
    //                    optimalDif = newDiff;
    //                    optimalSize = size;
    //                    optimalMaxDif = newOptimalMaxDif;
    //                }
    //            }
    //        }
            return optimalSize;
        }
    
    

    相关文章

      网友评论

          本文标题:关于 拍摄视频 java.lang.RuntimeExcepti

          本文链接:https://www.haomeiwen.com/subject/kzphqftx.html