【发布时间】:2017-06-27 22:43:13
【问题描述】:
我有一个使用旧相机 API 的应用。在大多数设备上一切正常,但是,在某些设备上,即使在捕获图像后它也会继续预览。图片回调仍然被调用,但预览并没有停止。我真的不想将图像数据转换为位图并显示它,因为它确实有大约一秒钟的延迟并且看起来很糟糕。我想知道对于它不起作用的设备是否有任何变通方法?
我的捕获按钮调用以下方法
private void photoCapture()
{
if (mCamera == null)
return;
toggleBar();
mCamera.takePicture(null, null, mPicture);
takenPicture = true;
}
这是我的回调
private Camera.PictureCallback mPicture = new Camera.PictureCallback() {
@Override
public void onPictureTaken(byte[] data, Camera camera) {
imageData = data;
Bitmap bMap = BitmapFactory.decodeByteArray(data, 0, data.length);
if (currentCameraId == Camera.CameraInfo.CAMERA_FACING_FRONT) {
frontFacing = true;
}
}
};
让我印象深刻的是 takePicture 方法会自动停止预览?没有?
谢谢
【问题讨论】:
-
请发布您正在使用的代码。这里可能有一百万件事是错误的。
-
刚刚编辑。如果您需要其他任何东西,请告诉我。在它没有冻结的设备上,它仍然调用回调方法。只是不会像某些设备那样自动停止预览。 @bremen_matt