當前位置: 首頁>>代碼示例>>Java>>正文


Java CameraCaptureSession類代碼示例

本文整理匯總了Java中android.hardware.camera2.CameraCaptureSession的典型用法代碼示例。如果您正苦於以下問題:Java CameraCaptureSession類的具體用法?Java CameraCaptureSession怎麽用?Java CameraCaptureSession使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


CameraCaptureSession類屬於android.hardware.camera2包,在下文中一共展示了CameraCaptureSession類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: onCaptureFailed

import android.hardware.camera2.CameraCaptureSession; //導入依賴的package包/類
@Override
public void onCaptureFailed(@NonNull CameraCaptureSession session,
                            @NonNull CaptureRequest request,
                            @NonNull CaptureFailure failure) {
  super.onCaptureFailed(session, request, failure);
  this.session = null;
  switch (failure.getReason()) {
    case CaptureFailure.REASON_ERROR:
      Timber.e("Capture failed: REASON_ERROR");
      break;
    case CaptureFailure.REASON_FLUSHED:
      Timber.e("Capture failed: REASON_FLUSHED");
      break;
    default:
      Timber.e("Capture failed: UNKNOWN");
      break;
  }
}
 
開發者ID:zugaldia,項目名稱:android-robocar,代碼行數:19,代碼來源:CaptureCallback.java

示例2: setRepeatingBurst

import android.hardware.camera2.CameraCaptureSession; //導入依賴的package包/類
/**
 * Set a repeating burst request.
 */
public void setRepeatingBurst(final List<CaptureRequest> requests,
        final CameraCaptureSession.CaptureCallback listener, final Handler handler) {
    mCameraHandler.post(() -> {
        try {
            mCameraSession.setRepeatingBurst(requests, listener, handler);
        } catch (CameraAccessException e) {
            String errorMessage = mErrorDisplayer.getErrorString(e);
            mErrorDisplayer.showErrorDialog(errorMessage);
        }
    });
}
 
開發者ID:lydia-schiff,項目名稱:hella-renderscript,代碼行數:15,代碼來源:CameraOps.java

示例3: onCaptureCompleted

import android.hardware.camera2.CameraCaptureSession; //導入依賴的package包/類
@Override
public void onCaptureCompleted(@NonNull CameraCaptureSession session, @NonNull CaptureRequest request, @NonNull TotalCaptureResult result) {
    if(request.getTag() == ("FOCUS_TAG")) {
        //The focus trigger is complete!
        //Resume repeating request, clear AF trigger.
        mAutoFocusCallback.onAutoFocus(true);
        mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AF_TRIGGER, null);
        mPreviewRequestBuilder.setTag("");
        mPreviewRequest = mPreviewRequestBuilder.build();
        try {
            mCaptureSession.setRepeatingRequest(mPreviewRequest, mCaptureCallback, mBackgroundHandler);
        } catch(CameraAccessException ex) {
            Log.d(TAG, "AUTO FOCUS FAILURE: "+ex);
        }
    } else {
        process(result);
    }
}
 
開發者ID:EzequielAdrianM,項目名稱:Camera2Vision,代碼行數:19,代碼來源:Camera2Source.java

示例4: setupCaptureRequestForPreview

import android.hardware.camera2.CameraCaptureSession; //導入依賴的package包/類
/**
 * does setup the repeating capture request for taking images for the preview
 */
@VisibleForTesting
void setupCaptureRequestForPreview(@NonNull CameraCaptureSession previewSession, @NonNull CameraDevice camera,
                                   @NonNull List<Surface> surfaces) {
    try {
        CaptureRequest.Builder previewRequestBuilder = camera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
        for (Surface surface : surfaces) {
            previewRequestBuilder.addTarget(surface);
        }
        previewRequestBuilder.set(CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_PICTURE);

        previewSession.setRepeatingRequest(previewRequestBuilder.build(), null, null);

    } catch (CameraAccessException | IllegalStateException e) {
        throw new CameraException(e);
    }
}
 
開發者ID:BioID-GmbH,項目名稱:BWS-Android,代碼行數:20,代碼來源:CameraHelper.java

示例5: connectPreview

import android.hardware.camera2.CameraCaptureSession; //導入依賴的package包/類
/**
 * connects a new camera preview session to the UI
 */
private void connectPreview() {
    try {
        setupPreviewSizeAndImageReader();
        cameraHelper.startCameraPreview(openCamera, binding.preview, previewSize, getDeviceOrientation(),
                getRelativeDisplayRotation(), imageReader, new Consumer<CameraCaptureSession>() {
                    @Override
                    public void accept(CameraCaptureSession cameraCaptureSession) {
                        openPreviewSession = cameraCaptureSession;
                    }
                });
    } catch (CameraException e) {
        cleanup();
        logErrorAndFinish("connectPreview failed: %s", e.getMessage());
    }
}
 
開發者ID:BioID-GmbH,項目名稱:BWS-Android,代碼行數:19,代碼來源:FacialRecognitionFragment.java

示例6: updatePreview

import android.hardware.camera2.CameraCaptureSession; //導入依賴的package包/類
private void updatePreview(CameraCaptureSession cameraCaptureSession) {
    if (null == cameraDevice) {
        return;
    }
    captureSession = cameraCaptureSession;

    setFlashModeAndBuildPreviewRequest(configurationProvider.getFlashMode());
}
 
開發者ID:florent37,項目名稱:CameraFragment,代碼行數:9,代碼來源:Camera2Manager.java

示例7: captureStillPicture

import android.hardware.camera2.CameraCaptureSession; //導入依賴的package包/類
private void captureStillPicture() {
    try {
        if (null == cameraDevice) {
            return;
        }
        final CaptureRequest.Builder captureBuilder =
                cameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE);
        captureBuilder.addTarget(imageReader.getSurface());

        captureBuilder.set(CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_PICTURE);
        captureBuilder.set(CaptureRequest.JPEG_ORIENTATION, getPhotoOrientation(configurationProvider.getSensorPosition()));

        CameraCaptureSession.CaptureCallback CaptureCallback = new CameraCaptureSession.CaptureCallback() {
            @Override
            public void onCaptureCompleted(@NonNull CameraCaptureSession session,
                                           @NonNull CaptureRequest request,
                                           @NonNull TotalCaptureResult result) {
                Log.d(TAG, "onCaptureCompleted: ");
            }
        };

        captureSession.stopRepeating();
        captureSession.capture(captureBuilder.build(), CaptureCallback, null);

    } catch (CameraAccessException e) {
        Log.e(TAG, "Error during capturing picture");
    }
}
 
開發者ID:florent37,項目名稱:CameraFragment,代碼行數:29,代碼來源:Camera2Manager.java

示例8: onConfigured

import android.hardware.camera2.CameraCaptureSession; //導入依賴的package包/類
@Override
public void onConfigured(@NonNull CameraCaptureSession cameraCaptureSession) {
    // The camera is already closed
    if (mCameraDevice == null) {
        return;
    }
    // When the session is ready, we start capture.
    mCaptureSession = cameraCaptureSession;
    triggerImageCapture();
}
 
開發者ID:FoxLabMakerSpace,項目名稱:SIGHT-For-the-Blind,代碼行數:11,代碼來源:CameraHandler.java

示例9: onCaptureCompleted

import android.hardware.camera2.CameraCaptureSession; //導入依賴的package包/類
@Override
public void onCaptureCompleted(@NonNull CameraCaptureSession session, @NonNull CaptureRequest request,
                               @NonNull TotalCaptureResult result) {
    super.onCaptureCompleted(session, request, result);
    if (picturesTaken.lastEntry() != null) {
        capturingListener.onCaptureDone(picturesTaken.lastEntry().getKey(), picturesTaken.lastEntry().getValue());
        Log.i(TAG, "done taking picture from camera " + cameraDevice.getId());
    }
    closeCamera();
}
 
開發者ID:botyourbusiness,項目名稱:android-camera2-secret-picture-taker,代碼行數:11,代碼來源:PictureCapturingServiceImpl.java

示例10: onCaptureCompleted

import android.hardware.camera2.CameraCaptureSession; //導入依賴的package包/類
@Override
public void onCaptureCompleted(@NonNull CameraCaptureSession session,
                               @NonNull CaptureRequest request,
                               @NonNull TotalCaptureResult result) {
    session.close();
    mCaptureSession = null;
    Log.d(TAG, "CaptureSession closed");
}
 
開發者ID:FoxLabMakerSpace,項目名稱:SIGHT-For-the-Blind,代碼行數:9,代碼來源:CameraHandler.java

示例11: captureStillPicture

import android.hardware.camera2.CameraCaptureSession; //導入依賴的package包/類
/**
 * Capture a still picture. This method should be called when we get a response in
 * {@link #mCaptureCallback} from both {@link #lockFocus()}.
 */
private void captureStillPicture() {
    try {
        final Activity activity = getActivity();
        if (null == activity || null == mCameraDevice) {
            return;
        }
        // This is the CaptureRequest.Builder that we use to take a picture.
        final CaptureRequest.Builder captureBuilder =
                mCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE);
        captureBuilder.addTarget(mImageReader.getSurface());

        // Use the same AE and AF modes as the preview.
        captureBuilder.set(CaptureRequest.CONTROL_AF_MODE,
                CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_PICTURE);
        setAutoFlash(captureBuilder);

        // Orientation
        int rotation = activity.getWindowManager().getDefaultDisplay().getRotation();
        captureBuilder.set(CaptureRequest.JPEG_ORIENTATION, getOrientation(rotation));

        CameraCaptureSession.CaptureCallback CaptureCallback
                = new CameraCaptureSession.CaptureCallback() {

            @Override
            public void onCaptureCompleted(@NonNull CameraCaptureSession session,
                                           @NonNull CaptureRequest request,
                                           @NonNull TotalCaptureResult result) {
                showToast("Saved: " + mFile);
                Log.d(TAG, mFile.toString());
                unlockFocus();
            }
        };

        mCaptureSession.stopRepeating();
        mCaptureSession.capture(captureBuilder.build(), CaptureCallback, null);
    } catch (CameraAccessException e) {
        e.printStackTrace();
    }
}
 
開發者ID:InnoFang,項目名稱:Android-Code-Demos,代碼行數:44,代碼來源:Camera2BasicFragment.java

示例12: onConfigured

import android.hardware.camera2.CameraCaptureSession; //導入依賴的package包/類
@Override
public void onConfigured(CameraCaptureSession session) {
    Log.d(TAG, "mSessionPreviewStateCallback onConfigured");
    mSession = session;
    try {
        mPreviewBuilder.set(CaptureRequest.CONTROL_AF_MODE,
                CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_PICTURE);
        mPreviewBuilder.set(CaptureRequest.CONTROL_AE_MODE,
                CaptureRequest.CONTROL_AE_MODE_ON_AUTO_FLASH);
        session.setRepeatingRequest(mPreviewBuilder.build(), mSessionCaptureCallback, mHandler);
    } catch (CameraAccessException e) {
        e.printStackTrace();
        Log.e(TAG, "set preview builder failed." + e.getMessage());
    }
}
 
開發者ID:InnoFang,項目名稱:Android-Code-Demos,代碼行數:16,代碼來源:MyCamera2Fragment.java

示例13: onCaptureProgressed

import android.hardware.camera2.CameraCaptureSession; //導入依賴的package包/類
@Override
public void onCaptureProgressed(CameraCaptureSession session, CaptureRequest request,
                                CaptureResult partialResult) {
    Log.d(TAG, "mSessionCaptureCallback,  onCaptureProgressed");
    mSession = session;
    checkState(partialResult);
}
 
開發者ID:InnoFang,項目名稱:Android-Code-Demos,代碼行數:8,代碼來源:MyCamera2Fragment.java

示例14: captureStillPicture

import android.hardware.camera2.CameraCaptureSession; //導入依賴的package包/類
/**
     * Capture a still picture. This method should be called when we get a response in
     * {@link #mCaptureCallback} from both {@link #lockFocus()}.
     */
    private void captureStillPicture() {
        try {
            removeCaptureMessage();
            final Activity activity = getActivity();
            if (null == activity || null == mCameraDevice) {
                return;
            }
            // This is the CaptureRequest.Builder that we use to take a picture.
            final CaptureRequest.Builder captureBuilder =
                mCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE);
            captureBuilder.addTarget(mImageReader.getSurface());

            // Use the same AE and AF modes as the preview.
//            captureBuilder.set(CaptureRequest.CONTROL_AF_MODE,
//                CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_PICTURE);
//            updateAutoFocus();
            updateFlash(captureBuilder);

            // Orientation
            int rotation = activity.getWindowManager().getDefaultDisplay().getRotation();
            captureBuilder.set(CaptureRequest.JPEG_ORIENTATION, getOrientation(rotation));

            CameraCaptureSession.CaptureCallback CaptureCallback
                = new CameraCaptureSession.CaptureCallback() {

                @Override
                public void onCaptureCompleted(@NonNull CameraCaptureSession session,
                                               @NonNull CaptureRequest request,
                                               @NonNull TotalCaptureResult result) {
                    unlockFocus();
                }
            };

            mPreviewSession.stopRepeating();
            mPreviewSession.capture(captureBuilder.build(), CaptureCallback, mBackgroundHandler);
        } catch (CameraAccessException e) {
            e.printStackTrace();
        }
    }
 
開發者ID:lytcom,項目名稱:CameraKitView,代碼行數:44,代碼來源:Camera2Fragment.java

示例15: onCaptureStarted

import android.hardware.camera2.CameraCaptureSession; //導入依賴的package包/類
@Override
public void onCaptureStarted(@NonNull CameraCaptureSession session,
                             @NonNull CaptureRequest request, long timestamp, long frameNumber) {
  super.onCaptureStarted(session, request, timestamp, frameNumber);
  Timber.d("Capture started.");
  this.session = session;
}
 
開發者ID:zugaldia,項目名稱:android-robocar,代碼行數:8,代碼來源:CaptureCallback.java


注:本文中的android.hardware.camera2.CameraCaptureSession類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。