【问题标题】:camera parameters can not be set相机参数无法设置
【发布时间】:2014-04-24 02:50:09
【问题描述】:

我不知道为什么 logact 在我设置有关setSceneModesetColorEffect 的相机参数时会产生错误,如下所示,并说set parameters failed 但是当我将上述方法分别设置为SCENE_MODE_CANDLELIGHTEFFECT_SOLARIZE时,它可以工作

Java代码:

@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,int height) {
    // TODO Auto-generated method stub
    android.hardware.Camera.Parameters camParameter = this.myCamera.getParameters();
    camParameter.setSceneMode(Parameters.SCENE_MODE_BEACH);
    camParameter.setColorEffect(Parameters.EFFECT_WHITEBOARD);
    camParameter.setFlashMode(Parameters.FLASH_MODE_AUTO);
    camParameter.setPreviewSize(width/2, height/2);
    camParameter.setPictureSize(width/2, height/2);
    myCamera.setParameters(camParameter);
    myCamera.startPreview();
}

【问题讨论】:

    标签: android android-camera surfaceview surfaceholder


    【解决方案1】:

    您的设备不支持 CANDLELIGHT 或 SOLARIZE,但它支持 BEACH 和 WHITEBOARD。为什么这很奇怪?

    【讨论】:

    • 感谢您的回答。但是有什么方法可以知道我的手机支持的模式吗?
    • 我经常在androidfragmentation.com/database 找到这些问题的答案。但是,如果您手头有设备,您可以轻松找到:启动系统相机应用程序并查看它允许选择哪些模式和效果。如果您使用官方 ROM,相机应用程序将反映所有可能的设置的可能性为 95%。
    【解决方案2】:

    一般来说,Camera.Parameters 类可以在运行时为任何给定的相机设备查询此信息。请注意,前后摄像头支持的模式不一定相同,因此您始终必须在打开相机后从相机中获取参数以检查支持的内容。

    具体来说,您可以使用Camera.Parameters.getSupportedColorEffects()Camera.Parameters.getSupportedSceneModes()来了解您当前的设备支持哪些效果和场景模式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-29
      • 1970-01-01
      • 2012-07-10
      • 2013-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多