6

現在のアプリケーションでは、カメラ オブジェクトのインスタンスを保持するクラスを取得し、次のことを試みています。

1) 指定された時間、たとえば何も待機しません (これは TimerTask を介して行われます) 2) autoFocus を介してフォーカスをリクエストします 3) autoFocus コールバックで、OneShotPreviewCallback をリクエストします 4) プレビュー コールバックで、画像を保存します 5) 繰り返します

最初のオートフォーカスの前にホワイトバランスが正常に機能している間、最初のフォーカスが行われた後に停止します。もちろん、API を調べたところ、autoFocus の説明に興味深い記述が 1 つあります。

ただし、オート フォーカス ルーチンは、フォーカス中に自動露出とオート ホワイト バランスを一時的に停止する場合があります。

しかし、一時的に停止するのではなく、永続的に停止しているようです。面白いことに、その後の autoFocus の呼び出しで、カメラはホワイトニングを再度調整しようとしますが、正しい値はほとんど 2 番目または 3 番目の autoFocus でのみです。

また、コードでホワイト バランスを設定しようとしましたが、何も変わりませんでした。

setWhiteBalance(Camera.Parameters.WHITE_BALANCE_AUTO);

他の誰かがこの問題を知っていますか、それとも私はいくつかの点を見逃していますか? autoFocus を恒久的に呼び出してホワイト バランスを強制することができることはわかっていますが、それは最適な方法ではないようです。

PS: Android 4.0.3 を搭載した Samsung Galaxy S2 でテストしています。

4

3 に答える 3

4

Samsung Galaxy 2 Duos 2 でも同様の問題が発生しました。この場合、WB ではなく自動露出設定が機能しなくなりました。自動露出パラメータを循環(オン/オフ)しようとしましたが、うまくいきました。

mCamera.autoFocus(new Camera.AutoFocusCallback() {

    @Override
    public void onAutoFocus(boolean b, Camera camera) {

        Camera.Parameters params = camera.getParameters();
        if (params.isAutoExposureLockSupported()) {
            params.setAutoExposureLock(true);
            camera.setParameters(params);

            params = camera.getParameters();
            params.setAutoExposureLock(false);
            camera.setParameters(params);
        }
     }

 });
于 2014-05-27T14:38:50.170 に答える
1

サムスンギャラクシーエースでも同様の問題が発生します。最初のオートフォーカスの後、カメラのホワイトバランスがオフになり、その後オートフォーカスをいくら行ってもオンになりません。

ホワイトバランシングを再開するようにカメラに指示するAPIメソッドがなく、オートフォーカスコールバックでカメラパラメータをリセットしてもうまくいかないため、Samsung電話のカメラドライバのバグだと思います-アプリケーションを試しましたさまざまな電話で、このSamsung Galaxy Ace(GT-S5830; Android 2.3.3に更新)でのみ、オートフォーカス後にカメラのホワイトバランシングが再開されません。

たぶん、developer.samsung.comでバグチケットを発行する必要がありますか?

于 2012-06-27T16:09:05.657 に答える
-1

mCamera.stopPreview(); のようです。mCamera.startPreview(); AutoFocusCallback では、自動露出を再度有効にできますが、副作用としてプレビューで非常に短い一時停止が発生します。

于 2014-02-25T19:38:36.787 に答える