为什么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);