다음을 통해 공유


CameraCaptureSession 클래스

정의

카메라에서 이미지를 캡처하거나 이전에 같은 세션에서 카메라에서 캡처한 이미지를 다시 처리하는 데 사용되는 캡처 세션에 대해 CameraDevice구성된 캡처 세션입니다.

[Android.Runtime.Register("android/hardware/camera2/CameraCaptureSession", DoNotGenerateAcw=true)]
public abstract class CameraCaptureSession : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.Lang.IAutoCloseable
[<Android.Runtime.Register("android/hardware/camera2/CameraCaptureSession", DoNotGenerateAcw=true)>]
type CameraCaptureSession = class
    inherit Object
    interface IAutoCloseable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
상속
CameraCaptureSession
파생
특성
구현

설명

카메라에서 이미지를 캡처하거나 이전에 같은 세션에서 카메라에서 캡처한 이미지를 다시 처리하는 데 사용되는 캡처 세션에 대해 CameraDevice구성된 캡처 세션입니다.

CameraCaptureSession은 대상 출력 표면 CameraDevice#createCaptureSession createCaptureSession집합을 제공하거나 다시 처리 가능한 캡처 세션에 대상 출력 표면 및 집합을 CameraDevice#createReprocessableCaptureSession createReprocessableCaptureSession 제공하여 android.hardware.camera2.params.InputConfiguration 만들어집니다. 만든 후에는 카메라 디바이스에서 새 세션을 만들거나 카메라 디바이스를 닫을 때까지 세션이 활성화됩니다.

모든 캡처 세션은 카메라에서 이미지를 캡처하는 데 사용할 수 있지만 다시 처리 가능한 캡처 세션만 이전에 동일한 세션에서 카메라에서 캡처한 이미지를 다시 처리할 수 있습니다.

세션을 만드는 작업은 비용이 많이 들며 카메라 디바이스의 내부 파이프라인을 구성하고 원하는 대상에 이미지를 보내기 위해 메모리 버퍼를 할당해야 하므로 수백 밀리초가 걸릴 수 있습니다. 따라서 설치는 비동기적으로 수행되며 CameraDevice#createCaptureSession createCaptureSessionCameraDevice#createReprocessableCaptureSession createReprocessableCaptureSession 즉시 사용할 수 있는 CameraCaptureSession을 제공된 수신기의 CameraCaptureSession.StateCallback#onConfigured onConfigured 콜백으로 보냅니다. 구성을 완료 CameraCaptureSession.StateCallback#onConfigureFailed onConfigureFailed 할 수 없는 경우 해당 구성이 호출되고 세션이 활성화되지 않습니다.

<!--

세션이 준비되기 전에 제출된 캡처 요청(반복 또는 반복되지 않음)은 큐에 대기되고 세션이 준비되면 캡처를 시작합니다. 세션을 구성할 StateCallback#onConfigureFailed onConfigureFailed 수 없고 호출되는 경우 대기 중인 모든 캡처 요청이 삭제됩니다.

-->

카메라 디바이스에서 새 세션을 만든 경우 이전 세션이 닫히고 연결된 StateCallback#onClosed onClosed 콜백이 호출됩니다. 세션이 닫힌 후 호출되면 모든 세션 메서드가 IllegalStateException을 throw합니다.

닫힌 세션은 반복 요청(호출된 것처럼 #stopRepeating )을 지우지만 새로 만든 세션이 카메라 디바이스를 인수하고 다시 구성하기 전에 진행 중인 모든 캡처 요청을 정상적으로 완료합니다.

에 대한 android.hardware.camera2.CameraCaptureSessionJava 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

생성자

CameraCaptureSession()
CameraCaptureSession(IntPtr, JniHandleOwnership)

JNI 개체의 관리되는 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다.

속성

Class

Object런타임 클래스를 반환합니다.

(다음에서 상속됨 Object)
Device

이 세션이 만들어진 카메라 디바이스를 가져옵니다.

Handle

기본 Android 인스턴스에 대한 핸들입니다.

(다음에서 상속됨 Object)
InputSurface

카메라에서 이미지를 캡처하거나 이전에 같은 세션에서 카메라에서 캡처한 이미지를 다시 처리하는 데 사용되는 캡처 세션에 대해 CameraDevice구성된 캡처 세션입니다.

IsReprocessable

카메라에서 이미지를 캡처하거나 이전에 같은 세션에서 카메라에서 캡처한 이미지를 다시 처리하는 데 사용되는 캡처 세션에 대해 CameraDevice구성된 캡처 세션입니다.

JniIdentityHashCode

카메라에서 이미지를 캡처하거나 이전에 같은 세션에서 카메라에서 캡처한 이미지를 다시 처리하는 데 사용되는 캡처 세션에 대해 CameraDevice구성된 캡처 세션입니다.

(다음에서 상속됨 Object)
JniPeerMembers

카메라에서 이미지를 캡처하거나 이전에 같은 세션에서 카메라에서 캡처한 이미지를 다시 처리하는 데 사용되는 캡처 세션에 대해 CameraDevice구성된 캡처 세션입니다.

PeerReference

카메라에서 이미지를 캡처하거나 이전에 같은 세션에서 카메라에서 캡처한 이미지를 다시 처리하는 데 사용되는 캡처 세션에 대해 CameraDevice구성된 캡처 세션입니다.

(다음에서 상속됨 Object)
ThresholdClass

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

ThresholdType

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

메서드

AbortCaptures()

현재 보류 중이며 진행 중인 모든 캡처를 가능한 한 빨리 삭제합니다.

Capture(CaptureRequest, CameraCaptureSession+CaptureCallback, Handler)

카메라 디바이스에서 캡처할 이미지에 대한 요청을 제출합니다.

CaptureBurst(IList<CaptureRequest>, CameraCaptureSession+CaptureCallback, Handler)

순서대로 캡처할 요청 목록을 버스트로 제출합니다.

CaptureBurstRequests(IList<CaptureRequest>, IExecutor, CameraCaptureSession+CaptureCallback)

순서대로 캡처할 요청 목록을 버스트로 제출합니다.

CaptureSingleRequest(CaptureRequest, IExecutor, CameraCaptureSession+CaptureCallback)

카메라 디바이스에서 캡처할 이미지에 대한 요청을 제출합니다.

Clone()

이 개체의 복사본을 만들고 반환합니다.

(다음에서 상속됨 Object)
Close()

이 캡처 세션을 비동기적으로 닫습니다.

Dispose()

카메라에서 이미지를 캡처하거나 이전에 같은 세션에서 카메라에서 캡처한 이미지를 다시 처리하는 데 사용되는 캡처 세션에 대해 CameraDevice구성된 캡처 세션입니다.

(다음에서 상속됨 Object)
Dispose(Boolean)

카메라에서 이미지를 캡처하거나 이전에 같은 세션에서 카메라에서 캡처한 이미지를 다시 처리하는 데 사용되는 캡처 세션에 대해 CameraDevice구성된 캡처 세션입니다.

(다음에서 상속됨 Object)
Equals(Object)

다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다.

(다음에서 상속됨 Object)
FinalizeOutputConfigurations(IList<OutputConfiguration>)

지연 및/또는 추가 Surface가 포함된 출력 구성을 완료합니다.

GetHashCode()

개체에 대한 해시 코드 값을 반환합니다.

(다음에서 상속됨 Object)
JavaFinalize()

가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다.

(다음에서 상속됨 Object)
Notify()

이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다.

(다음에서 상속됨 Object)
NotifyAll()

이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다.

(다음에서 상속됨 Object)
Prepare(Surface)

출력 Surface에 대한 모든 버퍼를 미리 할당합니다.

SetHandle(IntPtr, JniHandleOwnership)

Handle 속성을 설정합니다.

(다음에서 상속됨 Object)
SetRepeatingBurst(IList<CaptureRequest>, CameraCaptureSession+CaptureCallback, Handler)

이 캡처 세션에서 이미지 시퀀스의 끝없이 반복 캡처를 요청합니다.

SetRepeatingBurstRequests(IList<CaptureRequest>, IExecutor, CameraCaptureSession+CaptureCallback)

이 캡처 세션에서 이미지 시퀀스의 끝없이 반복 캡처를 요청합니다.

SetRepeatingRequest(CaptureRequest, CameraCaptureSession+CaptureCallback, Handler)

이 캡처 세션에서 이미지의 끝없이 반복 캡처를 요청합니다.

SetSingleRepeatingRequest(CaptureRequest, IExecutor, CameraCaptureSession+CaptureCallback)

이 캡처 세션에서 이미지의 끝없이 반복 캡처를 요청합니다.

StopRepeating()

또는 .에 의해 #setRepeatingRequest setRepeatingRequest#setRepeatingBurst설정된 진행 중인 반복 캡처를 취소합니다.

SupportsOfflineProcessing(Surface)

지정된 Surface가 오프라인 모드를 지원할 수 있는지 여부를 쿼리합니다.

SwitchToOffline(ICollection<Surface>, IExecutor, CameraOfflineSession+CameraOfflineSessionCallback)

현재 캡처 세션과 지정된 등록된 카메라 표면 집합을 오프라인 처리 모드로 전환합니다.

ToArray<T>()

카메라에서 이미지를 캡처하거나 이전에 같은 세션에서 카메라에서 캡처한 이미지를 다시 처리하는 데 사용되는 캡처 세션에 대해 CameraDevice구성된 캡처 세션입니다.

(다음에서 상속됨 Object)
ToString()

개체의 문자열 표현을 반환합니다.

(다음에서 상속됨 Object)
UnregisterFromRuntime()

카메라에서 이미지를 캡처하거나 이전에 같은 세션에서 카메라에서 캡처한 이미지를 다시 처리하는 데 사용되는 캡처 세션에 대해 CameraDevice구성된 캡처 세션입니다.

(다음에서 상속됨 Object)
UpdateOutputConfiguration(OutputConfiguration)

구성 종료 후 업데이트 OutputConfiguration 는 다음을 참조하세요 #finalizeOutputConfigurations.

Wait()

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 <><중단/종료>합니다.>

(다음에서 상속됨 Object)
Wait(Int64)

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 <중단/>종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다.

(다음에서 상속됨 Object)
Wait(Int64, Int32)

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 <중단/>종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

IJavaPeerable.Disposed()

카메라에서 이미지를 캡처하거나 이전에 같은 세션에서 카메라에서 캡처한 이미지를 다시 처리하는 데 사용되는 캡처 세션에 대해 CameraDevice구성된 캡처 세션입니다.

(다음에서 상속됨 Object)
IJavaPeerable.DisposeUnlessReferenced()

카메라에서 이미지를 캡처하거나 이전에 같은 세션에서 카메라에서 캡처한 이미지를 다시 처리하는 데 사용되는 캡처 세션에 대해 CameraDevice구성된 캡처 세션입니다.

(다음에서 상속됨 Object)
IJavaPeerable.Finalized()

카메라에서 이미지를 캡처하거나 이전에 같은 세션에서 카메라에서 캡처한 이미지를 다시 처리하는 데 사용되는 캡처 세션에 대해 CameraDevice구성된 캡처 세션입니다.

(다음에서 상속됨 Object)
IJavaPeerable.JniManagedPeerState

카메라에서 이미지를 캡처하거나 이전에 같은 세션에서 카메라에서 캡처한 이미지를 다시 처리하는 데 사용되는 캡처 세션에 대해 CameraDevice구성된 캡처 세션입니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

카메라에서 이미지를 캡처하거나 이전에 같은 세션에서 카메라에서 캡처한 이미지를 다시 처리하는 데 사용되는 캡처 세션에 대해 CameraDevice구성된 캡처 세션입니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

카메라에서 이미지를 캡처하거나 이전에 같은 세션에서 카메라에서 캡처한 이미지를 다시 처리하는 데 사용되는 캡처 세션에 대해 CameraDevice구성된 캡처 세션입니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

카메라에서 이미지를 캡처하거나 이전에 같은 세션에서 카메라에서 캡처한 이미지를 다시 처리하는 데 사용되는 캡처 세션에 대해 CameraDevice구성된 캡처 세션입니다.

(다음에서 상속됨 Object)

확장 메서드

JavaCast<TResult>(IJavaObject)

Android 런타임 확인 형식 변환을 수행합니다.

JavaCast<TResult>(IJavaObject)

카메라에서 이미지를 캡처하거나 이전에 같은 세션에서 카메라에서 캡처한 이미지를 다시 처리하는 데 사용되는 캡처 세션에 대해 CameraDevice구성된 캡처 세션입니다.

GetJniTypeName(IJavaPeerable)

카메라에서 이미지를 캡처하거나 이전에 같은 세션에서 카메라에서 캡처한 이미지를 다시 처리하는 데 사용되는 캡처 세션에 대해 CameraDevice구성된 캡처 세션입니다.

적용 대상