我不知道为什么当我设置有关setSceneMode
和setColorEffect
的相机参数时logact会产生错误,如下所示,并说set parameters failed
但是,当我将上述方法分别设置为SCENE_MODE_CANDLELIGHT
和EFFECT_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();
}
答案 0 :(得分:1)
您的设备不支持CANDLELIGHT或SOLARIZE,但它确实支持BEACH和WHITEBOARD。为什么这很奇怪?
答案 1 :(得分:0)
通常,对于任何给定的摄像机设备,可以在运行时查询Camera.Parameters类以获取此信息。请注意,前置和后置摄像头不一定具有相同的支持模式,因此您必须在打开后从摄像机获取参数以检查所支持的内容。
具体来说,您可以使用Camera.Parameters.getSupportedColorEffects()和Camera.Parameters.getSupportedSceneModes()找出当前设备支持的效果和场景模式。