Share via


Camera 클래스

정의

주의

This class is obsoleted in this android platform

카메라 클래스는 이미지 캡처 설정을 설정하고, 미리 보기를 시작/중지하고, 사진을 스냅하고, 비디오 인코딩을 위한 프레임을 검색하는 데 사용됩니다.

[Android.Runtime.Register("android/hardware/Camera", DoNotGenerateAcw=true)]
[System.Obsolete("This class is obsoleted in this android platform")]
public class Camera : Java.Lang.Object
[<Android.Runtime.Register("android/hardware/Camera", DoNotGenerateAcw=true)>]
[<System.Obsolete("This class is obsoleted in this android platform")>]
type Camera = class
    inherit Object
상속
Camera
특성

설명

카메라 클래스는 이미지 캡처 설정을 설정하고, 미리 보기를 시작/중지하고, 사진을 찍고, 비디오 인코딩을 위한 프레임을 검색하는 데 사용됩니다. 이 클래스는 실제 카메라 하드웨어를 관리하는 카메라 서비스의 클라이언트입니다.

디바이스 카메라에 액세스하려면 Android 매니페스트에서 사용 권한을 선언 android.Manifest.permission#CAMERA 해야 합니다. 또한 애플리케이션에서 사용하는 카메라 기능을 선언하는 uses-feature> 매니페스트 요소를 포함해야 합니다.< 예를 들어 카메라 및 자동 포커스 기능을 사용하는 경우 매니페스트에는 다음이 포함되어야 합니다.

&lt;uses-permission android:name="android.permission.CAMERA" />
            &lt;uses-feature android:name="android.hardware.camera" />
            &lt;uses-feature android:name="android.hardware.camera.autofocus" />

이 클래스를 사용하여 사진을 찍려면 다음 단계를 사용합니다.

<ol><li>에서 #open(int)카메라 instance 가져옵니다.

<li>를 사용하여 기존(기본값) 설정을 #getParameters()가져옵니다.

<li>필요한 경우 반환 Camera.Parameters 된 개체를 수정하고 를 호출 #setParameters(Camera.Parameters)합니다.

<li>미리 보기의 올바른 방향을 확인하려면 를 호출 #setDisplayOrientation(int) 합니다.

<li><b>중요</b>: 완전히 초기화된 SurfaceHolder 를 에 전달합니다 #setPreviewDisplay(SurfaceHolder). 표면이 없으면 카메라가 미리 보기를 시작할 수 없습니다.

<li><b>중요</b>: 를 호출 #startPreview() 하여 미리 보기 화면 업데이트를 시작합니다. 사진을 찍기 전에 미리 보기를 시작해야 합니다.

<li>원하는 경우 를 호출 #takePicture(Camera.ShutterCallback, Camera.PictureCallback, Camera.PictureCallback, Camera.PictureCallback) 하여 사진을 캡처합니다. 콜백이 실제 이미지 데이터를 제공할 때까지 기다립니다.

<li>사진을 찍은 후 미리 보기 디스플레이가 중지됩니다. 더 많은 사진을 찍려면 먼저 다시 전화하십시오 #startPreview() .

<li>미리 보기 화면 업데이트를 중지하려면 를 호출 #stopPreview() 합니다.

<li><b>중요:</b> 다른 애플리케이션에서 사용할 카메라를 해제하도록 호출 #release() 합니다. 애플리케이션은 카메라를 즉시 해제하고 에서 android.app.Activity#onPause() 다시#open()android.app.Activity#onResume()해제해야 합니다. </Ol>

비디오 녹화 모드로 빠르게 전환하려면 다음 단계를 사용합니다.

<ol><li>위에서 설명한 대로 카메라를 가져오고 초기화하고 미리 보기를 시작합니다.

<li>미디어 프로세스가 카메라에 액세스할 수 있도록 하려면 를 호출 #unlock() 합니다.

<li>카메라를 에 전달합니다 android.media.MediaRecorder#setCamera(Camera). 비디오 녹화에 대한 정보를 참조하세요 android.media.MediaRecorder .

<li>녹화가 완료되면 를 호출 #reconnect() 하여 카메라를 다시 획득하고 다시 잠급니다.

<li>원하는 경우 미리 보기를 다시 시작하고 더 많은 사진이나 비디오를 찍습니다.

<li>호출 #stopPreview()#release() 위에서 설명한 대로. </Ol>

이 클래스는 스레드로부터 안전하지 않으며 하나의 이벤트 스레드에서 사용하기 위한 것입니다. 대부분의 장기 실행 작업(미리 보기, 포커스, 사진 캡처 등)은 비동기적으로 발생하고 필요에 따라 콜백을 호출합니다. 콜백은 호출된 이벤트 스레드 #open(int) 에서 호출됩니다. 이 클래스의 메서드는 한 번에 여러 스레드에서 호출되어서는 안 됩니다.

<p class="주의"><강력한>주의:</강력한> Android 기반 디바이스는 메가픽셀 등급 및 자동 초점 기능과 같은 다양한 하드웨어 사양을 가질 수 있습니다. 애플리케이션이 더 많은 디바이스와 호환되도록 하려면 디바이스 카메라 사양에 대해 가정해서는 안 됩니다.</P>

<div class="special reference"><h3>Developer Guides</h3>

카메라 사용에 대한 자세한 내용은 카메라 개발자 가이드를 참조하세요.

</Div>

이 멤버는 더 이상 사용되지 않습니다. 새 애플리케이션에 새 android.hardware.camera2 API를 사용하는 것이 좋습니다.

에 대한 Java 설명서입니다 android.hardware.Camera.

이 페이지의 일부는 만들고 공유하며 에 설명된 용어에 따라 사용되는 작업을 기반으로 수정됩니다.

생성자

Camera(IntPtr, JniHandleOwnership)
사용되지 않음.

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

필드

ActionNewPicture
사용되지 않음.

브로드캐스트 작업: 카메라가 새 사진을 찍고 사진의 항목이 미디어 저장소에 추가되었습니다.

ActionNewVideo
사용되지 않음.

브로드캐스트 작업: 카메라에 의해 새 비디오가 녹화되고 비디오 항목이 미디어 저장소에 추가되었습니다.

속성

Class
사용되지 않음.

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

(다음에서 상속됨 Object)
Handle
사용되지 않음.

기본 Android instance 대한 핸들입니다.

(다음에서 상속됨 Object)
JniIdentityHashCode
사용되지 않음.

카메라 클래스는 이미지 캡처 설정을 설정하고, 미리 보기를 시작/중지하고, 사진을 스냅하고, 비디오 인코딩을 위한 프레임을 검색하는 데 사용됩니다.

(다음에서 상속됨 Object)
JniPeerMembers
사용되지 않음.

카메라 클래스는 이미지 캡처 설정을 설정하고, 미리 보기를 시작/중지하고, 사진을 스냅하고, 비디오 인코딩을 위한 프레임을 검색하는 데 사용됩니다.

NumberOfCameras
사용되지 않음.

이 디바이스에서 사용할 수 있는 실제 카메라 수를 반환합니다.

PeerReference
사용되지 않음.

카메라 클래스는 이미지 캡처 설정을 설정하고, 미리 보기를 시작/중지하고, 사진을 스냅하고, 비디오 인코딩을 위한 프레임을 검색하는 데 사용됩니다.

(다음에서 상속됨 Object)
ThresholdClass
사용되지 않음.

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

ThresholdType
사용되지 않음.

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

메서드

AddCallbackBuffer(Byte[])
사용되지 않음.

미리 보기 콜백 버퍼 큐에 미리 할당된 버퍼를 추가합니다.

AutoFocus(Camera+IAutoFocusCallback)
사용되지 않음.

카메라 자동 포커스를 시작하고 카메라가 포커스가 있을 때 실행할 콜백 함수를 등록합니다.

CancelAutoFocus()
사용되지 않음.

진행 중인 자동 포커스 함수를 취소합니다.

Clone()
사용되지 않음.

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

(다음에서 상속됨 Object)
Dispose()
사용되지 않음.

카메라 클래스는 이미지 캡처 설정을 설정하고, 미리 보기를 시작/중지하고, 사진을 스냅하고, 비디오 인코딩을 위한 프레임을 검색하는 데 사용됩니다.

(다음에서 상속됨 Object)
Dispose(Boolean)
사용되지 않음.

카메라 클래스는 이미지 캡처 설정을 설정하고, 미리 보기를 시작/중지하고, 사진을 스냅하고, 비디오 인코딩을 위한 프레임을 검색하는 데 사용됩니다.

(다음에서 상속됨 Object)
EnableShutterSound(Boolean)
사용되지 않음.

사진을 찍을 때 기본 셔터 소리를 사용하거나 사용하지 않도록 설정합니다.

Equals(Object)
사용되지 않음.

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

(다음에서 상속됨 Object)
GetCameraInfo(Int32, Camera+CameraInfo)
사용되지 않음.

특정 카메라에 대한 정보를 반환합니다.

GetHashCode()
사용되지 않음.

개체의 해시 코드 값을 반환합니다.

(다음에서 상속됨 Object)
GetParameters()
사용되지 않음.

이 카메라 서비스에 대한 현재 설정을 반환합니다.

JavaFinalize()
사용되지 않음.

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

(다음에서 상속됨 Object)
Lock()
사용되지 않음.

카메라를 다시 잠가 다른 프로세스에서 액세스하지 못하도록 합니다.

Notify()
사용되지 않음.

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

(다음에서 상속됨 Object)
NotifyAll()
사용되지 않음.

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

(다음에서 상속됨 Object)
Open()
사용되지 않음.

디바이스의 첫 번째 후면 카메라에 액세스하는 새 Camera 개체를 만듭니다.

Open(Int32)
사용되지 않음.

특정 하드웨어 카메라에 액세스하는 새 Camera 개체를 만듭니다.

Reconnect()
사용되지 않음.

다른 프로세스에서 카메라 서비스를 사용한 후 카메라 서비스에 다시 연결합니다.

Release()
사용되지 않음.

카메라 개체 리소스의 연결을 끊고 해제합니다.

SetAutoFocusMoveCallback(Camera+IAutoFocusMoveCallback)
사용되지 않음.

카메라 자동 포커스 이동 콜백을 설정합니다.

SetDisplayOrientation(Int32)
사용되지 않음.

미리 보기 디스플레이의 시계 방향 회전을 도 단위로 설정합니다.

SetErrorCallback(Camera+IErrorCallback)
사용되지 않음.

오류가 발생할 때 호출할 콜백을 등록합니다.

SetFaceDetectionListener(Camera+IFaceDetectionListener)
사용되지 않음.

미리 보기 프레임에서 감지된 얼굴에 대한 알림을 받을 수신기를 등록합니다.

SetHandle(IntPtr, JniHandleOwnership)
사용되지 않음.

Handle 속성을 설정합니다.

(다음에서 상속됨 Object)
SetOneShotPreviewCallback(Camera+IPreviewCallback)
사용되지 않음.

화면에 표시하는 것 외에도 다음 미리 보기 프레임에 대해 호출할 콜백을 설치합니다.

SetParameters(Camera+Parameters)
사용되지 않음.

이 카메라 서비스의 설정을 변경합니다.

SetPreviewCallback(Camera+IPreviewCallback)
사용되지 않음.

화면에 표시하는 것 외에도 모든 미리 보기 프레임에 대해 호출할 콜백을 설치합니다.

SetPreviewCallbackWithBuffer(Camera+IPreviewCallback)
사용되지 않음.

에 제공 #addCallbackBuffer(byte[])된 버퍼를 사용하여 화면에 표시하는 것 외에도 모든 미리 보기 프레임에 대해 호출할 콜백을 설치합니다.

SetPreviewDisplay(ISurfaceHolder)
사용되지 않음.

Surface 라이브 미리 보기에 사용할 를 설정합니다.

SetPreviewTexture(SurfaceTexture)
사용되지 않음.

SurfaceTexture 라이브 미리 보기에 사용할 를 설정합니다.

SetZoomChangeListener(Camera+IOnZoomChangeListener)
사용되지 않음.

부드러운 확대/축소 중에 카메라 드라이버가 확대/축소 값을 업데이트할 때 알림을 받을 수신기를 등록합니다.

StartFaceDetection()
사용되지 않음.

얼굴 감지를 시작합니다.

StartPreview()
사용되지 않음.

미리 보기 프레임을 캡처하고 화면에 그리기 시작합니다.

StartSmoothZoom(Int32)
사용되지 않음.

요청된 값을 원활하게 확대/축소합니다.

StopFaceDetection()
사용되지 않음.

얼굴 감지를 중지합니다.

StopPreview()
사용되지 않음.

화면에 미리 보기 프레임 캡처 및 그리기를 중지하고 나중에 에 대한 호출 #startPreview()을 위해 카메라를 다시 설정합니다.

StopSmoothZoom()
사용되지 않음.

부드러운 확대/축소를 중지합니다.

TakePicture(Camera+IShutterCallback, Camera+IPictureCallback, Camera+IPictureCallback)
사용되지 않음.

Equivalent to

TakePicture(Camera+IShutterCallback, Camera+IPictureCallback, Camera+IPictureCallback, Camera+IPictureCallback)
사용되지 않음.

Equivalent to

ToArray<T>()
사용되지 않음.

카메라 클래스는 이미지 캡처 설정을 설정하고, 미리 보기를 시작/중지하고, 사진을 스냅하고, 비디오 인코딩을 위한 프레임을 검색하는 데 사용됩니다.

(다음에서 상속됨 Object)
ToString()
사용되지 않음.

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

(다음에서 상속됨 Object)
Unlock()
사용되지 않음.

카메라를 잠금 해제하여 다른 프로세스에서 액세스할 수 있도록 합니다.

UnregisterFromRuntime()
사용되지 않음.

카메라 클래스는 이미지 캡처 설정을 설정하고, 미리 보기를 시작/중지하고, 사진을 스냅하고, 비디오 인코딩을 위한 프레임을 검색하는 데 사용됩니다.

(다음에서 상속됨 Object)
Wait()
사용되지 않음.

현재 스레드가 깨어날 때까지 대기하게 합니다( 일반적으로 <알림을 받><거나 <>중단/>em>)합니다<.

(다음에서 상속됨 Object)
Wait(Int64)
사용되지 않음.

현재 스레드가 깨어날 때까지 대기하게 합니다. 일반적으로 <>알림을 받<거나 <중단</>내보내>>거나 일정량의 실시간이 경과할 때까지 대기합니다.

(다음에서 상속됨 Object)
Wait(Int64, Int32)
사용되지 않음.

현재 스레드가 깨어날 때까지 대기하게 합니다. 일반적으로 <>알림을 받<거나 <중단</>내보내>>거나 일정량의 실시간이 경과할 때까지 대기합니다.

(다음에서 상속됨 Object)

이벤트

FaceDetection
사용되지 않음.

카메라 클래스는 이미지 캡처 설정을 설정하고, 미리 보기를 시작/중지하고, 사진을 스냅하고, 비디오 인코딩을 위한 프레임을 검색하는 데 사용됩니다.

ZoomChange
사용되지 않음.

카메라 클래스는 이미지 캡처 설정을 설정하고, 미리 보기를 시작/중지하고, 사진을 스냅하고, 비디오 인코딩을 위한 프레임을 검색하는 데 사용됩니다.

명시적 인터페이스 구현

IJavaPeerable.Disposed()
사용되지 않음.

카메라 클래스는 이미지 캡처 설정을 설정하고, 미리 보기를 시작/중지하고, 사진을 스냅하고, 비디오 인코딩을 위한 프레임을 검색하는 데 사용됩니다.

(다음에서 상속됨 Object)
IJavaPeerable.DisposeUnlessReferenced()
사용되지 않음.

카메라 클래스는 이미지 캡처 설정을 설정하고, 미리 보기를 시작/중지하고, 사진을 스냅하고, 비디오 인코딩을 위한 프레임을 검색하는 데 사용됩니다.

(다음에서 상속됨 Object)
IJavaPeerable.Finalized()
사용되지 않음.

카메라 클래스는 이미지 캡처 설정을 설정하고, 미리 보기를 시작/중지하고, 사진을 스냅하고, 비디오 인코딩을 위한 프레임을 검색하는 데 사용됩니다.

(다음에서 상속됨 Object)
IJavaPeerable.JniManagedPeerState
사용되지 않음.

카메라 클래스는 이미지 캡처 설정을 설정하고, 미리 보기를 시작/중지하고, 사진을 스냅하고, 비디오 인코딩을 위한 프레임을 검색하는 데 사용됩니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)
사용되지 않음.

카메라 클래스는 이미지 캡처 설정을 설정하고, 미리 보기를 시작/중지하고, 사진을 스냅하고, 비디오 인코딩을 위한 프레임을 검색하는 데 사용됩니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)
사용되지 않음.

카메라 클래스는 이미지 캡처 설정을 설정하고, 미리 보기를 시작/중지하고, 사진을 스냅하고, 비디오 인코딩을 위한 프레임을 검색하는 데 사용됩니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)
사용되지 않음.

카메라 클래스는 이미지 캡처 설정을 설정하고, 미리 보기를 시작/중지하고, 사진을 스냅하고, 비디오 인코딩을 위한 프레임을 검색하는 데 사용됩니다.

(다음에서 상속됨 Object)

확장 메서드

JavaCast<TResult>(IJavaObject)
사용되지 않음.

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

JavaCast<TResult>(IJavaObject)
사용되지 않음.

카메라 클래스는 이미지 캡처 설정을 설정하고, 미리 보기를 시작/중지하고, 사진을 스냅하고, 비디오 인코딩을 위한 프레임을 검색하는 데 사용됩니다.

GetJniTypeName(IJavaPeerable)
사용되지 않음.

카메라 클래스는 이미지 캡처 설정을 설정하고, 미리 보기를 시작/중지하고, 사진을 스냅하고, 비디오 인코딩을 위한 프레임을 검색하는 데 사용됩니다.

적용 대상