0

一部にカメラ プレビューがあるアプリケーションを作成しています。

私の問題は、デバイスでホームを押してアプリを再度開くと、カメラが紫色の線でピクセル化されることです。これは onResume() / onPause() メソッドと関係があると思っていましたが、ここでプレビューを停止し、カメラを null に設定します (以下)。

再開時

@Override
    public void onResume() {

        //Registering the Listener
        super.onResume();
        manager.registerListener(this,
                manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
                manager.SENSOR_DELAY_NORMAL);

        //Opening the Camera and Starting the Preview
        camera = Camera.open();
        startPreview();
    }

一時停止中

    @Override
    public void onPause() {

        super.onPause();
        if(camera!=null)
        {
            camera.stopPreview();
            camera.release();
            camera = null;
            inPreview = false;

        }
    }

ユーザーが写真を撮り直すオプションがあります。ユーザーが3回目に画像を撮り直そうとすると、同じ問題に直面します。何が問題なのかわかりません。カメラのコードを

https://github.com/commonsguy/cw-advandroid/blob/master/Camera/Preview/src/com/commonsware/android/camera/PreviewDemo.java

私のニーズに合わせて少し編集します。

読んで調べたところ、私の onPause と onResume は正しいように見えるので、これは問題ではないかもしれません...

どんな助けでも大歓迎です

4

1 に答える 1

1

私のような人(ロープを学んでいる)がこの同じ問題に遭遇した場合、私の問題は何だったのか追加しました

camera.setDisplayOrientation(90);

プレビューを縦向きに回転します。私の問題は、これを間違った場所で呼び出していたため、onResume()メソッドで呼び出していることです。

最後に簡単な修正...みんなありがとう

于 2013-07-26T10:31:59.743 に答える