相机预览问题 - 预览变为像素化和失真

时间:2013-07-23 12:26:49

标签: android android-camera onresume onpause

我正在创建一个应用程序,其中一部分具有相机预览功能。

我的问题是,如果我在设备上打回家并重新打开应用程序,则相机会像素线化,紫色线穿过它。我假设这与onResume()/ onPause()方法有关,但我在这里停止预览并将相机设置为null(下面)

ON RESUME

@Override
    public void onResume() {

        //Registering the Listener
        super.onResume();
        manager.registerListener(this,
                manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
                manager.SENSOR_DELAY_NORMAL);

        //Opening the Camera and Starting the Preview
        camera = Camera.open();
        startPreview();
    }

ON PAUSE

    @Override
    public void onPause() {

        super.onPause();
        if(camera!=null)
        {
            camera.stopPreview();
            camera.release();
            camera = null;
            inPreview = false;

        }
    }

我有一个选项让用户重新拍摄他们的照片,如果用户第三次尝试重拍图像我面临同样的问题。我不知道是什么问题,我从

获取了我的相机代码

https://github.com/commonsguy/cw-advandroid/blob/master/Camera/Preview/src/com/commonsware/android/camera/PreviewDemo.java

通过一些编辑来满足我的需求。

从阅读和研究看来,我的onPause和onResume似乎是正确的,所以这可能不是问题......

感谢任何帮助

1 个答案:

答案 0 :(得分:1)

如果有人喜欢我(学习绳索)遇到同样的问题,我的问题是我添加的

camera.setDisplayOrientation(90);

将预览旋转为纵向。我的问题是,我把它称为错误的地方,我现在用onResume()方法称它。

最后一个简单的解决方法......谢谢大家