第三方应用调用前摄失败,导致原生相机的后摄挂掉

 

第一次分析出现问题:以为是调用前摄,检测不到后摄所致,导致误导了许久
仔细查找才发现:相机前摄的参数错误,当前app获取不到这么大的参数
Camera2-Parameters: set: Requested preview size 1080 x 1440 is not supported
11-22 17:45:42.034826 12613 12671 E CameraManager: SET_PARAMETERS Fail e = java.lang.RuntimeException: setParameters failed

既然 1080 x 1440 不支持,那就想办法让其支持!

第三方应用纷纷也停止运行,再次打开相机,提示““由于安全政策的限制,相机已停止运行””

/vendor/mediatek/proprietary/custom/mt6789/hal/imgsensor_metadata/imx219_mipi_raw/config_static_metadata_project.h

找到对应机器的前摄

//  android.stats.info
//------------------------------------------------------------------------------
    //==========================================================================
    //==========================================================================
    //==========================================================================
    CONFIG_METADATA_BEGIN(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_WITH_DURATIONS)//new hidden
        //==============================================8M 4:3
        CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_BLOB, MINT64)
        CONFIG_ENTRY_VALUE(3264, MINT64)
        CONFIG_ENTRY_VALUE(2448, MINT64)
        CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT64)
        CONFIG_ENTRY_VALUE(33333333, MINT64)
        CONFIG_ENTRY_VALUE(33333333, MINT64)

        CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_RAW16, MINT64)
        CONFIG_ENTRY_VALUE(3264, MINT64)
        CONFIG_ENTRY_VALUE(2448, MINT64)
        CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT64)
        CONFIG_ENTRY_VALUE(33333333, MINT64)
        CONFIG_ENTRY_VALUE(33333333, MINT64)

        CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_YCbCr_420_888, MINT64)
        CONFIG_ENTRY_VALUE(3264, MINT64)
        CONFIG_ENTRY_VALUE(2448, MINT64)
        CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT64)
        CONFIG_ENTRY_VALUE(50000000, MINT64)
        CONFIG_ENTRY_VALUE(0   , MINT64)
        //==============================================5M 4:3
        CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_BLOB, MINT64)
        CONFIG_ENTRY_VALUE(2560, MINT64)
        CONFIG_ENTRY_VALUE(1920, MINT64)
        CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT64)
        CONFIG_ENTRY_VALUE(33333333, MINT64)
        CONFIG_ENTRY_VALUE(33333333, MINT64)

        CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_RAW16, MINT64)
        CONFIG_ENTRY_VALUE(2560, MINT64)
        CONFIG_ENTRY_VALUE(1920, MINT64)
        CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT64)
        CONFIG_ENTRY_VALUE(33333333, MINT64)
        CONFIG_ENTRY_VALUE(33333333, MINT64)

        CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_YCbCr_420_888, MINT64)
        CONFIG_ENTRY_VALUE(2560, MINT64)
        CONFIG_ENTRY_VALUE(1920, MINT64)
        CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT64)
        CONFIG_ENTRY_VALUE(50000000, MINT64)
        CONFIG_ENTRY_VALUE(0   , MINT64)
        //==============================================3M 4:3
        CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_BLOB, MINT64)
        CONFIG_ENTRY_VALUE(1920, MINT64)
        CONFIG_ENTRY_VALUE(1440, MINT64)
        CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT64)
        CONFIG_ENTRY_VALUE(33333333, MINT64)
        CONFIG_ENTRY_VALUE(33333333, MINT64)

        CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_RAW16, MINT64)
        CONFIG_ENTRY_VALUE(1920, MINT64)
        CONFIG_ENTRY_VALUE(1440, MINT64)
        CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT64)
        CONFIG_ENTRY_VALUE(33333333, MINT64)
        CONFIG_ENTRY_VALUE(33333333, MINT64)

        CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_YCbCr_420_888, MINT64)
        CONFIG_ENTRY_VALUE(1920, MINT64)
        CONFIG_ENTRY_VALUE(1440, MINT64)
        CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT64)
        CONFIG_ENTRY_VALUE(50000000, MINT64)
        CONFIG_ENTRY_VALUE(0   , MINT64)
        //==============================================1M 4:3
        //*/
        CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_BLOB, MINT64)
        CONFIG_ENTRY_VALUE(1280, MINT64)
        CONFIG_ENTRY_VALUE(960, MINT64)
        CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT64)
        CONFIG_ENTRY_VALUE(33333333, MINT64)
        CONFIG_ENTRY_VALUE(33333333, MINT64)

        CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_RAW16, MINT64)
        CONFIG_ENTRY_VALUE(1280, MINT64)
        CONFIG_ENTRY_VALUE(960, MINT64)
        CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT64)
        CONFIG_ENTRY_VALUE(33333333, MINT64)
        CONFIG_ENTRY_VALUE(33333333, MINT64)

        CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_YCbCr_420_888, MINT64)
        CONFIG_ENTRY_VALUE(1280, MINT64)
        CONFIG_ENTRY_VALUE(960, MINT64)
        CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT64)
        CONFIG_ENTRY_VALUE(50000000, MINT64)
        CONFIG_ENTRY_VALUE(0   , MINT64)
        //*/
    CONFIG_METADATA_END()
    //==========================================================================

//----------------------------------------------------------------------------

再后面添加最小前摄像素去适应第三方app大小的像素即可;估摸着以前的像素参数不适配第三方,得改为适配的相机参数

 在此之前,该问题纠结了如此之久,迟迟找不到具体原因,导致相机调用崩溃,最后在耐心的log查找中,慢慢的大胆去猜想去做,去编译,去修改,终于皇天不负有心人,哦了

  • 17
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值