2014-10-09 111 views

回答

2

您可以通过创建一个扩展mCamera对象的JavaCameraView和更改参数类操纵摄像头预览FPS:

public class CustomizableCameraView extends JavaCameraView { 

    public CustomizableCameraView(Context context, AttributeSet attrs) { 
     super(context, attrs); 
    } 

    public void setPreviewFPS(double min, double max){ 
     Camera.Parameters params = mCamera.getParameters(); 
     params.setPreviewFpsRange((int)(min*1000), (int)(max*1000)); 
     mCamera.setParameters(params); 
    } 
} 

类似的OpenCV教程3 - 摄像机控制。

但是你必须检查你将设置的fps范围是在mCamera.getSupportedPreviewFpsRange() - reference。在我的例子中[min:10000,max:31000],理论上最小值是10fps。

+0

感谢您的回复,但如何处理当我已经扩展类(ActionBarACtivity)的情况?例如,我想在点击按钮后改变fps(我可以添加监听器,但接下来呢?这个监听器内部的类是什么?) – michael 2014-10-11 16:24:51

+0

没有问题,因为ActionBarACtivity是Activity,JavaCameraView是View,是不是知道区别?活动“处理”您的应用程序,并且View是用于显示内容的组件。因此,如上所述扩展JavaCameraView并将此子类添加到布局xml以及按钮以更改FPS。创建自定义视图在这里解释:[如何添加自定义视图到布局?](http://stackoverflow.com/questions/10410616/how-to-add-custom-view-to-the-layout) – reynev 2014-10-12 10:32:32

+0

好的,但是当我想要使用两个视图时 - org.opencv.android.JavaCameraView和CustomizableCameraView在点击菜单按钮(它们都在布局文件中定义)之后该怎么办? – michael 2014-10-14 07:39:33