Android CameraView在三星Galaxy S2上以低分辨率启动

时间:2012-09-11 14:05:19

标签: android android-camera qr-code zbar-sdk

我的一个屏幕上有一个FrameLayout。我在我的代码中引用它:

preview = (FrameLayout)findViewById(R.id.preview);

我正在FrameLayout中嵌入一个CameraPreview对象(从ZBar SDK扩展SurfaceView,用于QR解析),如下所示:

scanner.setConfig(0, Config.Y_DENSITY, 3);
mPreview = new CameraPreview(this, mCamera, getPreviewCallback(), autoFocusCB);
if(preview.getChildCount()>=1)
preview.removeAllViews();
preview.addView(mPreview);

现在,当我在我的一款测试手机Samsung Galaxy 3(GT-I5801)上运行时,一切正常,QR分析正常。但是,如果我使用三星Galaxy S2或三星Ace扫描它,该应用程序最初以低分辨率或无法对焦的相机启动。如果我把它放在一个非常明亮的屏幕上,它也无法自动调整其白平衡。但是如果我从“相机”选项卡导航到应用程序中的另一个选项卡并返回,相机就会正常工作。

任何帮助解决这个问题都将非常感激。这与屏幕或相机分辨率有关吗?或者ZBar SDK中的任何内容,如果有人知道的话?或者几乎总是如此,我错过了什么?再次感谢你阅读这篇文章。

1 个答案:

答案 0 :(得分:0)

我查看了源代码,似乎它试图启动连续自动对焦,这在任何地方都无效。我对Android摄像头的体验是,即使功能被广告宣传,也不意味着它可以工作并且可以使用(在分辨率设置上刻录一次)。在调整相机的同时,你必须尽可能地保持防御并准备好迎接问题。

我为JavaOCR项目开发了自己的相机管理,它看起来工作得很好(虽然IU不能承诺它到处工作,但你可能会举例):

http://javaocr.svn.sourceforge.net/viewvc/javaocr/trunk/demos/

(如果你不喜欢自己编译,这个应用程序是建立在这个库上的:

https://play.google.com/store/apps/details?id=de.pribluda.android.ocrcall&feature=search_result#?t=W251bGwsMSwyLDEsImRlLnByaWJsdWRhLmFuZHJvaWQub2NyY2FsbCJd