다음을 통해 공유


VideoDeviceController.CameraOcclusionInfo 속성

정의

카메라의 현재 폐색 상태를 가져오고 폐색 상태가 변경될 때 알림을 받는 데 사용할 수 있는 CameraOcclusionInfo 개체를 가져옵니다.

public:
 property CameraOcclusionInfo ^ CameraOcclusionInfo { CameraOcclusionInfo ^ get(); };
CameraOcclusionInfo CameraOcclusionInfo();
public CameraOcclusionInfo CameraOcclusionInfo { get; }
var cameraOcclusionInfo = videoDeviceController.cameraOcclusionInfo;
Public ReadOnly Property CameraOcclusionInfo As CameraOcclusionInfo

속성 값

캡처 디바이스에 대한 CameraOcclusionInfo 입니다.

Windows 요구 사항

디바이스 패밀리
Windows 11 (10.0.22000.0에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v14.0에서 도입되었습니다.)

예제

다음 예제 코드에서는 CameraOcclusionInfo 클래스를 사용하여 카메라의 폐색 상태를 모니터링하는 방법을 보여 줍니다.

protected override async void OnNavigatedTo(NavigationEventArgs e)
{
    await mediaCapture.InitializeAsync();

    var occlusionInfo = mediaCapture.VideoDeviceController.CameraOcclusionInfo;
    occlusionInfo.StateChanged += CameraOcclusionInfo_StateChanged;

}

private void CameraOcclusionInfo_StateChanged(CameraOcclusionInfo sender, CameraOcclusionStateChangedEventArgs args)
{
    if (args.State.IsOccluded)
    {
        String occlusionString = "";
        if (args.State.IsOcclusionKind(CameraOcclusionKind.Lid))
        {
            occlusionString = "Lid";
        }
        else if (args.State.IsOcclusionKind(CameraOcclusionKind.CameraHardware))
        {
            occlusionString = "Camera Hardware";
        }
        else
        {
            occlusionString = "Unknown";
        }
        Debug.WriteLine(String.Format("The camera view is blocked by {0}", occlusionString);
    }
    else
    {
        Debug.WriteLine("Camera is not occluded");
    }
}

설명

카메라가 활발하게 스트리밍되는 동안에는 이 속성을 통해 얻은 셔터 상태 데이터만 사용해야 합니다. 앱은 셔터가 닫힌 것을 감지할 때 논리적으로 응답해야 합니다. 여기에는 셔터를 여는 앱 내 메시지가 포함되어야 합니다. 모든 카메라가 스트리밍하지 않을 때 셔터 상태를 안정적으로 보고하지 않기 때문에 애플리케이션은 자동으로 작업을 수행(예: 카메라 끄기)하거나 사용자가 셔터 상태에 따라 작업을 수행하지 못하도록 차단해서는 안 됩니다. 애플리케이션은 보고된 셔터 상태를 절대 개인 정보 보호 지표로 취급해서는 안 됩니다. 이는 카메라가 셔터가 닫혀 있다고 믿는 알림일 뿐입니다.

적용 대상