这个问题在这里已有答案:
- 从相机拍摄照片无需预览 9个答案
3524
2017-09-13 08:30
起源
答案:
您可以使用虚拟视图无需预览即可拍摄照片。
喜欢:
SurfaceView view = new SurfaceView(this);
c.setPreviewDisplay(view.getHolder());
c.startPreview();
c.takePicture(shutterCallback, rawPictureCallback, jpegPictureCallback);
9
2017-09-13 08:35
这不适用于所有设备,如下所示: stackoverflow.com/a/5384913/318870 - Dolan Antenucci
什么是c,shutterCallback和所有变量..请提供整个代码 - jyomin
此代码不正确。我需要添加 view 到了 WindowManager。我还需要添加一个回调 view.getHolder() 然后在 surfaceCreated 设置预览,开始预览,拍摄照片。 - Sam
答案:
您可以使用虚拟视图无需预览即可拍摄照片。
喜欢:
SurfaceView view = new SurfaceView(this);
c.setPreviewDisplay(view.getHolder());
c.startPreview();
c.takePicture(shutterCallback, rawPictureCallback, jpegPictureCallback);
9
2017-09-13 08:35
这不适用于所有设备,如下所示: stackoverflow.com/a/5384913/318870 - Dolan Antenucci
什么是c,shutterCallback和所有变量..请提供整个代码 - jyomin
此代码不正确。我需要添加 view 到了 WindowManager。我还需要添加一个回调 view.getHolder() 然后在 surfaceCreated 设置预览,开始预览,拍摄照片。 - Sam
没有预览/表面视图是不可能的。
1
2017-09-13 08:33
没错,但您仍然可以使用透明预览或1x1预览等技巧。此外,在某些手机上,你显然可以使用假人 SurfaceTexture 要么 SurfaceView 没有显示。 - Sam
它在某些设备上没有Surfaceview(如我的笔记2),但在每台设备上都不起作用。所以使用SurfaceView是必须的。 - TheOnlyAnil