【问题标题】:android zoom in / out not working in custom camera appaandroid放大/缩小在自定义相机应用程序中不起作用
【发布时间】:2013-01-14 12:39:37
【问题描述】:

我有这个功能可以为我的相机应用程序添加缩放控制。这个函数是从 surfaceChanged()

但在许多设备上,按 + / - 进行缩小/缩小没有效果。这些设备支持缩放。代码也在sony xperia上运行,所以代码必须是正确的。

请帮我解决它。还有什么我需要做的。

public void setZoomControl(Camera.Parameters params) {
    ZoomControls zoomControls = (ZoomControls) findViewById(R.id.CAMERA_ZOOM_CONTROLS);

    if (params.isZoomSupported()) {
        maxZoomLevel = params.getMaxZoom();
        Log.i("max ZOOM ", "is " + maxZoomLevel);
        ;

        zoomControls.setIsZoomInEnabled(true);
        zoomControls.setIsZoomOutEnabled(true);

        zoomControls.setOnZoomInClickListener(new OnClickListener() {
            public void onClick(View v) {
                if (currentZoomLevel < maxZoomLevel) {
                    currentZoomLevel++;
                    camera.startSmoothZoom(currentZoomLevel);
                }
            }
        });

        zoomControls.setOnZoomOutClickListener(new OnClickListener() {
            public void onClick(View v) {
                if (currentZoomLevel > 0) {
                    currentZoomLevel--;
                    camera.startSmoothZoom(currentZoomLevel);
                }
            }
        });
    } else
        zoomControls.setVisibility(View.GONE);
}

【问题讨论】:

  • 根据文档,您应该检查params.isSmoothZoomSupported() 以查看Camera.startSmoothZoom(..) 是否可用。
  • 是的,这就是问题所在。不支持平滑缩放。因此,我们必须调用 setZoom(),然后调用 camera.setparams,而不是 startSmoothZoom()。请添加您的评论作为答案,然后我可以接受。谢谢
  • Harism plzz 如果它适用于定制相机,请提供完整的。
  • preetha plzz 如果它适用于定制相机,请提供完整的。
  • @preetha 嗨,我还想在我的应用中添加缩放功能,创建了自定义相机,但我有一些小问题,你能帮帮我吗?

标签: android camera zooming customization


【解决方案1】:

我解决了这个问题。

不要使用 startSmoothZoom() 方法

Camera.Parameters params = camera.getParameters();
params.setZoom(zoom_value);
camera.setParameters(params);

【讨论】:

猜你喜欢
  • 2014-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-18
  • 2014-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多