VideoDeviceController.CameraOcclusionInfo 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
카메라의 현재 폐색 상태를 가져오고 폐색 상태가 변경될 때 알림을 받는 데 사용할 수 있는 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");
}
}
설명
카메라가 활발하게 스트리밍되는 동안에는 이 속성을 통해 얻은 셔터 상태 데이터만 사용해야 합니다. 앱은 셔터가 닫힌 것을 감지할 때 논리적으로 응답해야 합니다. 여기에는 셔터를 여는 앱 내 메시지가 포함되어야 합니다. 모든 카메라가 스트리밍하지 않을 때 셔터 상태를 안정적으로 보고하지 않기 때문에 애플리케이션은 자동으로 작업을 수행(예: 카메라 끄기)하거나 사용자가 셔터 상태에 따라 작업을 수행하지 못하도록 차단해서는 안 됩니다. 애플리케이션은 보고된 셔터 상태를 절대 개인 정보 보호 지표로 취급해서는 안 됩니다. 이는 카메라가 셔터가 닫혀 있다고 믿는 알림일 뿐입니다.