我在Galaxy S2(android 2.3)和LG P500(android 2.3)上显示相机取景器时遇到了一些麻烦。我在SurfaceView上有一些噪音(干扰)。然而,结果照片没有这样的缺陷。
其他设备(包括带有2.3的设备和带有android 4的Galaxy S2)工作正常。
不幸的是,我没有这样的设备,因此我无法在每次更改源代码后对其进行测试。也许有人已经有这个问题?
此外,我尝试使用三星远程测试实验室测试此应用程序,但不幸的是,带有android 2.3的Galaxy S2被放置在桌面上,他的相机采用了黑色(飞溅无效)。在这种情况下,没有任何白色条带。
的onCreate():
mSurfaceHolder = mSurfaceView.getHolder();
mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mSurfaceHolder.addCallback(this);
...
mSurfaceView.setLayoutParams(lp);
的onResume():
mCamera = Camera.open();
if (mCamera == null) {
Toast.makeText(this, R.string.t_no_camera, Toast.LENGTH_SHORT).show();
finish();
} else {
mCamera.setDisplayOrientation(90);
Parameters p = mCamera.getParameters();
p.setFocusMode(Parameters.FOCUS_MODE_AUTO);
prepareFlash();
if (prepareResolution()) {
Camera.Size size = getBestPreviewSize(mDisplay.getWidth(), mDisplay.getHeight(), p);
if (size != null) {
p.setPreviewSize(size.width, size.height);
}
}
mCamera.setParameters(p);
try {
mCamera.setPreviewDisplay(mHolder);
} catch (IOException e) {
e.printStackTrace();
}
mCamera.startPreview();
}
surfaceCreated(SurfaceHolder holder):
try {
mCamera.setPreviewDisplay(holder);
} catch (IOException e) {
e.printStackTrace();
}
有什么想法吗?会是什么呢?我会感激任何提示。
答案 0 :(得分:1)
在纵向模式下启动相机预览;具有此类预览的错误发生在不同的设备上。有时,这些错误会通过制造商的软件升级得到修复,有时候,它们不是。有时,疯狂的解决方法可以解决问题。
为了安全起见,坚持使用横向模式。也许您的应用可以保留设备/构建版本的黑名单,其中预览活动不允许垂直(纵向)方向。
请注意,您通常可以使用旋转图标,位图甚至文字标签模拟纵向方向。