3

最近、Nexus 7 バージョン 2 を購入し、アプリケーションをテストしました。カメラモジュール以外はすべて動作しています。

実際、写真を撮るのには問題ありませんでしたが、setColorEffect() で問題が発生しました。ご存じのように、この関数はカメラに色効果を設定するものであり、surfaceview はこの変更を反映する必要があります。

以下の関数を使用して色効果を設定していることは間違いありません。

                Camera.Parameters _param = mCamera.getParameters();

                if (isSupported(android.hardware.Camera.Parameters.EFFECT_MONO, _param.getSupportedColorEffects())) {
                    Log.e(TAG, "color effect is supported...");
                    _param.setColorEffect(android.hardware.Camera.Parameters.EFFECT_MONO);
                    _param.setJpegQuality(90);

                    //_param.set("effect", "mono"); // KEY_EFFECT
                    mCamera.setParameters(_param);
                }

上記のコードを surfaceChanged() およびここで推奨される他の場所に配置しましたが、機能せず、エラーも例外も発生しませんでした。また、プレビューサイズを変更した後、強制的に surfaceChanged() 関数を起動しました。以下は surfaceChanged() 関数です:

public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
if (mHolder.getSurface() == null){
    return;
}

try {
    lCamera.setPreviewDisplay(mHolder);
} catch (IOException e) {
    e.printStackTrace();
} finally{
    lCamera.startPreview();
}

}

不思議なことに、シーン モードの変更が機能していました。

Nexus 7 2 をテストする前に、Galaxy S3 でアプリケーションと上記のコードをテストしましたが、完全に動作しています。

Googleが提供するものを含め、インターネットから約3〜4個のカメラの例をテストしましたが、すべて機能していませんでした. (参考: Nexus 7 バージョン 2 では、約 9 つのカラー効果が提供されています。)

誰でもアイデアはありますか?

4

0 に答える 0