8

Camera2API を使用してカメラ データを にストリーミングしようとしていますSurfaceView。私はこのガイドに従っています: Camera2 ガイド

乗り越えられないstep 5

MainActivity.java::onCreate()

setContentView(R.layout.activity_main);

surfaceView = (SurfaceView)findViewById(R.id.surface);
manager = (CameraManager)getSystemService(Context.CAMERA_SERVICE);

MainActivity.java::onClick()

for (String id : manager.getCameraIdList()) {
    CameraCharacteristics characteristics = manager.getCameraCharacteristics(id);

    Integer direction = characteristics.get(CameraCharacteristics.LENS_FACING);

    if (direction != null && direction == CameraCharacteristics.LENS_FACING_BACK) {
        if (checkCallingOrSelfPermission("android.permission.CAMERA") == PackageManager.PERMISSION_GRANTED)
            manager.openCamera(id, new StateCallback(), null);

        break;
    }
}

MainActivity.java.StateCallback::onOpened(CameraDevice カメラ)

List<Surface> surfaces = new LinkedList<>();
surfaces.add(surfaceView.getHolder().getSurface());

CaptureRequest.Builder builder = camera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
builder.addTarget(surfaces.get(0));

camera.createCaptureSession(surfaces, new CameraCaptureSession.StateCallback() {
    @Override
    public void onConfigured(CameraCaptureSession session) {
        Log.i(TAG, "Configured");
    }

    @Override
    public void onConfigureFailed(CameraCaptureSession session) {
        Log.e(TAG, "Configured failed"); // Ends up in this function :(
    }
    }, null);

プログラムはonConfigureFailed()関数で終了します。何がエラーなのかわからず、何がエラーなのかを確認する方法もわかりません。

私の推測では、 に何かが欠けていると思いますが、何がわかりCaptureRequestません。

私はSamsung Galaxy S4で実行しています。

4

2 に答える 2