安卓相机 - 无法获得预览以重新启动?不知道照片存储在哪里?



拍照后,什么时候应该在相机上调用startPreview?使用了演示中的代码:http://developer.android.com/guide/topics/media/camera.html

在一定程度上工作,但我无法弄清楚如何让表面支架刷新,以便它准备好再次拍摄。

另外,对于我的生活,我无法弄清楚照片的去向。 另外,有没有办法让他们像普通相机一样去画廊?

在 captureButton 的onclick()中引入startPreview(),并使用布尔标志控制它。

例如,让标志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) {
        //
    }
};

检查此示例,如果您是全新的,您甚至可以使用它作为参考。希望这有帮助。

最新更新