Freigeben über


VideoDeviceController.CameraOcclusionInfo Eigenschaft

Definition

Ruft ein CameraOcclusionInfo-Objekt ab, das verwendet werden kann, um den aktuellen Okklusionszustand einer Kamera abzurufen und Benachrichtigungen zu erhalten, wenn sich der Okklusionszustand ändert.

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

Eigenschaftswert

CameraOcclusionInfo für das Aufnahmegerät.

Windows-Anforderungen

Gerätefamilie
Windows 11 (eingeführt in 10.0.22000.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v14.0)

Beispiele

Der folgende Beispielcode veranschaulicht die Verwendung der CameraOcclusionInfo-Klasse zum Überwachen des Okklusionszustands der Kamera.

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");
    }
}

Hinweise

Sie sollten nur die über diese Eigenschaft abgerufenen Verschlusszustandsdaten verwenden, während die Kamera aktiv gestreamt wird. Apps sollten auf logische Weise reagieren, wenn sie erkennen, dass der Verschluss geschlossen ist. Dies sollte eine In-App-Nachricht enthalten, um den Verschluss zu öffnen. Anwendungen dürfen nicht automatisch eine Aktion ausführen (z. B. die Kamera ausschalten) oder den Benutzer daran hindern, eine Aktion auszuführen (z. B. die Kamera einzuschalten), die auf dem Verschlusszustand basiert, da nicht jede Kamera zuverlässig den Verschlusszustand meldet, wenn sie nicht gestreamt wird. Anwendungen dürfen den gemeldeten Verschlusszustand nicht als absoluten Datenschutzindikator behandeln – es handelt sich nur um eine Benachrichtigung, dass die Kamera glaubt, dass der Verschluss geschlossen ist.

Gilt für: