为什么android 2.3中存在摄像头干扰的视频?

为什么android 2.3中存在摄像头干扰的视频?,android,android-camera,android-mediarecorder,Android,Android Camera,Android Mediarecorder,一旦创建: public static Camera getCameraInstance() { Camera c = null; try { c = Camera.open(); // attempt to get a Camera instance if (c != null) { Camera.Parameters params = c.getParameters();

一旦创建:

public static Camera getCameraInstance() {
        Camera c = null;
        try {
            c = Camera.open(); // attempt to get a Camera instance
            if (c != null) {
                Camera.Parameters params = c.getParameters();
                params.setRotation(90);
                c.setParameters(params);
            }
        } catch (Exception e) {
            Log.d("DEBUG", "Camera did not open");
            // Camera is not available (in use or does not exist)

        }
        return c; // returns null if camera is unavailable
    }
审查:

// Create an instance of Camera
            mCamera = getCameraInstance();
mPreview = new CameraPreview(this, mCamera);
preview = (FrameLayout) findViewById(R.id.camera_preview);
            preview.addView(mPreview);
我使用MediaRecorder录制视频。 结果: 如果我在安卓4.0设备上测试,结果是可以的。但在安卓2.3中,这是一种干扰
为什么android 2.3会出现摄像头干扰的视频?(注:拍摄图像,没问题。)

这只是一个潜在问题。从文档中:

public CameraPreview(Context context, Camera camera) {
        super(context);
        mCamera = camera;

        // Install a SurfaceHolder.Callback so we get notified when the
        // underlying surface is created and destroyed.
        mHolder = getHolder();
        mHolder.addCallback(this);
        // deprecated setting, but required on Android versions prior to 3.0
        mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
    }

您没有正确实现摄影机API。请查看有关如何创建照相机应用程序的说明。

我在CameraPreview中设置了您是否实际使用回调?您正在设置回调,但您是否使用回调的方法进行任何操作?i only init:mPreview=new CameraPreview(这是mCamera);使用mCamera。这就是我所说的不正确使用API的意思。查看链接以及它们如何显示如何使用回调的方法
// deprecated setting, but required on Android versions prior to 3.0
        mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);