私はCamera2 APIを使用しており、チュートリアルに従っています。私はTextureView
を設定しており、SurfaceTextureListener
がそのTextureView
にあります。リスナーが呼び出されると、CameraManager
を使用して、使用するカメラIDを取得し、提供された幅と高さを使用してプレビューサイズを設定します。 CameraManager
を使用して、カメラIDとカメラデバイスステートコールバックを指定してカメラを開きます。 onOpened
オーバーライドメソッドでは、私はstartPreview()
と呼ばれるメソッドを呼び出す:Androidでのキャプチャリクエストとキャプチャのセッション
private void startPreview() {
SurfaceTexture surfaceTexture = mTextureView.getSurfaceTexture();
surfaceTexture.setDefaultBufferSize(mPreviewSize.getWidth(), mPreviewSize.getHeight());
Surface previewSurface = new Surface(surfaceTexture);
try {
mCaptureRequestBuilder = mCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
mCaptureRequestBuilder.addTarget(previewSurface);
mCameraDevice.createCaptureSession(Arrays.asList(previewSurface, mImageReader.getSurface()),
new CameraCaptureSession.StateCallback() {
@Override
public void onConfigured(CameraCaptureSession session) {
Log.d(TAG, "onConfigured: startPreview");
mPreviewCaptureSession = session;
try {
mPreviewCaptureSession.setRepeatingRequest(mCaptureRequestBuilder.build(),
null, mBackgroundHandler);
} catch (CameraAccessException e) {
e.printStackTrace();
}
}
@Override
public void onConfigureFailed(CameraCaptureSession session) {
Log.d(TAG, "onConfigureFailed: startPreview");
}
}, null);
} catch (CameraAccessException e) {
e.printStackTrace();
}
}
キャプチャ要求は何をしてセッションをキャプチャ? Androidのdocumentation状態はcreateCaptureRequest:
が新しいキャプチャのCaptureRequest.Builderオクラホマので、CaptureRequest.Builder何
で要求を作成しますか?ドキュメント:
キャプチャ要求のビルダー。
どちらの定義も意味を持たずに他を参照します。
ビルドアップするソースコードを教えてください。すべてのリンク –