setPreviewFpsRange not working despite values being within getPreviewFpsRange's range

后端 未结 2 1297
暖寄归人
暖寄归人 2021-01-01 04:28

This simple code:

Camera.Parameters params = currentCamera.getParameters();
params.setPreviewFpsRange( 10000, 15000 );
currentCamera.setParameters( params );         


        
2条回答
  •  被撕碎了的回忆
    2021-01-01 04:30

    I found that if getSupportedPreviewFpsRange list has only one pair of supported values like (2000, 35000) which is 2fp to 35fps then it will accept any values between that range.

    If list containt more pairs then you need to use one of them

    List fpsRange = param.getSupportedPreviewFpsRange();
    
    if (fpsRange.size() == 1) {
        //fpsRange.get(0)[0] < CAMERA_PREVIEW_FPS < fpsRange.get(0)[1]
        param.setPreviewFpsRange(CAMERA_PREVIEW_FPS, CAMERA_PREVIEW_FPS);
    } else {
        //pick first from list to limit framerate or last to maximize framerate
        param.setPreviewFpsRange(fpsRange.get(0)[0], fpsRange.get(0)[1]);
    }
    

提交回复
热议问题