2

画面の1つにFrameLayoutがあります。私はこのように私のコードでそれを参照します:

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

そして、CameraPreviewオブジェクト(QR解析用のZBar SDKからSurfaceViewを拡張)を次のようにFrameLayoutに埋め込みます。

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

テスト用の電話の1つであるSamsungGalaxy3(GT-I5801)でこれを実行すると、すべてが正常に機能し、QRが正常に解析されます。しかし、Samsung GalaxyS2またはSamsungAceでスキャンすると、アプリは最初は低解像度のカメラで起動するか、焦点を合わせることができません。また、非常に明るい画面に置くと、ホワイトバランスを自動的に調整できません。しかし、アプリ内の[カメラ]タブから別のタブに移動して戻ってくると、カメラは正常に動作し始めます。

これを解決するための助けをいただければ幸いです。画面やカメラの解像度と関係がありますか?または、誰かが知っている場合は、ZBar SDKに何かありますか?または、ほとんどの場合、私は何かが欠けていますか?ここまで読んでいただき、ありがとうございます。

4

1 に答える 1

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

于 2012-09-12T06:04:12.727 に答える