Я хочу сделать снимок экрана предварительного просмотра, используя API камеры2. Я предполагаю, что есть два места, где я могу сделать это в своем коде в surfacetexturelistner, где он обновляет текстуру (это будет просмотр предварительного просмотра) или в CameraCaptureSession.CaptureCallback, где он обновляет сеанс для предварительного просмотра. Поэтому я хочу снимок в растровом изображении, поэтому я могу его подавать на класс FaceDetector (http://developer.android.com/reference/android/media/FaceDetector.html), конечно, я буду использовать другой поток, чтобы не мешать производительности. Снимок не будет замечен пользователем. Так вот эти две области, чтобы сделать это, и хотят знать, если кто-то сделал это или имеет какие-либо предложения:моментальный снимок камеры2 экран предварительного просмотра
private TextureView.SurfaceTextureListener SurListener =
new TextureView.SurfaceTextureListener() {
@Override
public void onSurfaceTextureUpdated(SurfaceTexture surface) {
drawView();
//I can maybe snapshot here?
}
@Override
public void onSurfaceTextureSizeChanged(SurfaceTexture surface, int width,
int height) {
}
@Override
public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) {
return false;
}
@Override
public void onSurfaceTextureAvailable(SurfaceTexture surface, int width,
int height) {
setupCamera();
StartUpCam();
}
};
ИЛИ Я могу сделать это здесь:
private CameraCaptureSession.CaptureCallback CScallback
= new CameraCaptureSession.CaptureCallback() {
@Override
public void onCaptureStarted(CameraCaptureSession session,
CaptureRequest request, long timestamp, long frameNumber) {
super.onCaptureStarted(session, request, timestamp, frameNumber);
//take a snapshot here???
}
};
Просто, чтобы вы знаете, Я знаю о детекторе лица, который поставляется с API Camera2, но доступ к нему возможен только после того, как вы сделаете снимок, поэтому он мне не нужен, потому что я хочу сделать это во время предварительного просмотра.
Я уверен, что вы не можете сделать это в CScallback, нет ничего, что можно было бы использовать в параметрах любого использования –