【问题标题】:How to take two consecutive pictures from camera?如何从相机连续拍摄两张照片?
【发布时间】:2014-04-28 02:13:36
【问题描述】:

当我尝试从相机拍摄单张照片时,它工作正常。现在我对我的代码进行了一些修改,并想从相机连续拍摄两张照片。

public void takePicture(final boolean isWithFlash) {
    Camera.PictureCallback mCall = new Camera.PictureCallback() {

        @Override
        public void onPictureTaken(byte[] data, Camera camera) {

            Bitmap bmp = BitmapFactory.decodeByteArray(data, 0, data.length);

            if(isWithFlash) {
                savePhotoToDirectory(data, captureImageFileName);

                mCamera.stopPreview();
                mCamera.release();
                mCamera = null;
            } else {
                savePhotoToDirectory(data, captureImageFileName);
                takePicture(true);
            }

        }
    };
    if(mCamera != null) {
        if(!isWithFlash) {
            Parameters param = mCamera.getParameters();
            mCamera.takePicture(null, null, mCall);
        } else {
            Parameters param = mCamera.getParameters();
            param.setFlashMode(Parameters.FLASH_MODE_TORCH);
            mCamera.setParameters(param);
            mCamera.takePicture(null, null, mCall);
        }
    } else {
        Log.d("MYLOG", "Camera is null");
    }
}

我正在尝试做的是不使用闪光灯拍照,然后连续使用闪光灯拍摄另一张照片。但是,当我尝试我的代码时,它只拍了第一张照片,第二张 onPictureTaken() 函数没有被调用。

我在这里做错了什么?或者有什么更好的方法可以连续拍两张?

任何 cmets 将不胜感激!

【问题讨论】:

    标签: android android-camera


    【解决方案1】:

    您无需在第二次通话后拨打mCamera.stopPreview()。但是您需要在第一个之后致电mCamera.startPreview()。我会在两次调用takePicture() 之间引入一些延迟,例如bu 使用View.post() 拍摄第二张照片。但也许这个帖子不是必需的,它造成的延迟对你来说太过分了——这由你来决定。

    【讨论】:

    • 哦,其实我是在其他功能中开启了相机预览,所以拍照后不得不停止预览。此外,使用延迟是我的另一个选择之一,但我不确定这是否是最好的方法。
    • 不,您不需要停止预览; takePicture 本身就是这样做的。但是,如果您想从相机中获取另一张照片,则需要重新开始预览。参见例如stackoverflow.com/a/7715021/192373
    • 好的,我刚刚用startPreview() 进行了测试,它似乎工作正常! (我没有使用延迟)非常感谢,您节省了我的时间!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多