拍照后什么时候应该在相机上调用 startPreview?使用了演示中的代码:http: //developer.android.com/guide/topics/media/camera.html
在一定程度上可以工作,但我不知道如何让表面支架刷新,以便为下一次拍摄做好准备。
此外,对于我的生活,我无法弄清楚照片的去向。另外,有没有办法让他们像普通相机一样去画廊?
拍照后什么时候应该在相机上调用 startPreview?使用了演示中的代码:http: //developer.android.com/guide/topics/media/camera.html
在一定程度上可以工作,但我不知道如何让表面支架刷新,以便为下一次拍摄做好准备。
此外,对于我的生活,我无法弄清楚照片的去向。另外,有没有办法让他们像普通相机一样去画廊?
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) {
//
}
};
检查此示例,如果您是全新的,甚至可以将其用作参考。希望这可以帮助。