摄像机参数无法设置

时间:2014-04-24 02:50:09

标签: android android-camera surfaceview surfaceholder

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

JavaCode:

@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();
}

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

通常,对于任何给定的摄像机设备,可以在运行时查询Camera.Parameters类以获取此信息。请注意,前置和后置摄像头不一定具有相同的支持模式,因此您必须在打开后从摄像机获取参数以检查所支持的内容。

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