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这里使用所有三个回调,即(shutterCallback, rawCallback, jpegCallback). 您检查过的文档中给出了最后一个回调的用法,其余两个回调可以像 -

// 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 回答