1

写真を撮った後、いつカメラで startPreview を呼び出す必要がありますか? デモでコードを使用しました: http://developer.android.com/guide/topics/media/camera.html

ある程度は機能しますが、サーフェス ホルダーをリフレッシュする方法がわからないので、別のスナップの準備ができています。

また、私の人生では、写真がどこに向かっているのかわかりません。また、通常のカメラのようにギャラリーに移動させる方法はありますか?

4

1 に答える 1

0

startPreview()captureButton に を導入onclick()し、ブール値フラグで制御します。

たとえば、フラグを としますisPicTaken。新しい画像をクリックするたびにtrueに設定し、プレビューを開始するときはfalseに設定する必要があります。コードは次のようになります -

Button captureButton = (Button) findViewById(id.button_capture);
captureButton.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        if (!isPicTaken) {          
            mCamera.takePicture(shutterCallback, rawCallback, jpegCallback);
        } else {                
            mCamera.startPreview();
            isPicTaken = false;     
        }
    }
});

mCamera.takePictureここでは 3 つのコールバックすべてを使用していることに注意してください(shutterCallback, rawCallback, jpegCallback)。最後のコールバックの使用法は、チェックしたドキュメントに記載されています。残りの 2 つのコールバックは次のように使用できます-

// Called when shutter is opened
ShutterCallback shutterCallback = new ShutterCallback() { 
    public void onShutter() {
        isPicTaken = true;  //set flag true only when shutter is called.
        // 
    }
};

// Handles data for raw picture
PictureCallback rawCallback = new PictureCallback() {
    public void onPictureTaken(byte[] data, Camera camera) {
        //
    }
};

この例を確認してください。完全に初めての場合でも、参照用に使用できます。お役に立てれば。

于 2012-11-19T08:56:26.997 に答える