摄像机变焦

时间:2013-05-21 19:57:01

标签: android video camera zoom

我正在实施一款能够录制视频的Android应用。我正在尝试实现缩放功能,但我无法让它工作。我没有找到任何好的代码。 我发布了我尝试过的一段代码。此代码位于我正在实施视频录制的主活动中的OnCreate方法中:

ImageView test = (ImageView) findViewById(R.id.zoom);
test.setClickable(true);
test.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        Context context4 = getApplicationContext();
        int duration = Toast.LENGTH_SHORT;
        Camera.Parameters parameters = mCamera.getParameters();
        parameters.setZoom(parameters.getMaxZoom());

        boolean Zoom = parameters.isZoomSupported(); 
        int maxZoom = parameters.getMaxZoom(); 
        if (parameters.isZoomSupported()) {
            if (zoom >=0 && zoom < parameters.getMaxZoom()) {              
                parameters.setZoom(parameters.getZoom()+1);
                parameters.setZoom(zoom);
                mCamera.setParameters(parameters);
                Toast.makeText(context4, "Zoom Setted: "+parameters.getZoom(), duration).show();
            } else {
                // zoom parameter is incorrect
                Toast.makeText(context4, "Zoom NOT Setted", duration).show();
            }
        }
    }
});

所以我所拥有的是一个名为“缩放”的图像视图,点击它时会增加视频预览的缩放直到达到允许的最大缩放!这就是我想在理论上实现的,但是当我点击imageview时没有任何事情发生....也没有显示任何吐司! 我在Nexus上测试它。 有人知道如何修改此代码以便工作或有人试图以不同的方式实现?如果是,我该怎么办? PS:参数变焦在上面被定义为初始化为1的int。

1 个答案:

答案 0 :(得分:0)

在Nexus S上可能就是

!isZoomSupported()

例如:https://code.google.com/p/aokp/issues/detail?id=172

这可以解释为什么你不会从

中的代码中看到任何祝酒词
if (parameters.isZoomSupported()) {...}