Partager via


VideoDeviceController.CameraOcclusionInfo Propriété

Définition

Obtient un objet CameraOcclusionInfo qui peut être utilisé pour obtenir l’état d’occlusion actuel d’une caméra et recevoir des notifications lorsque l’état d’occlusion change.

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

Valeur de propriété

CameraOcclusionInfo pour l’appareil de capture.

Configuration requise pour Windows

Famille d’appareils
Windows 11 (introduit dans 10.0.22000.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v14.0)

Exemples

L’exemple de code suivant illustre l’utilisation de la classe CameraOcclusionInfo pour surveiller l’état d’occlusion de l’appareil photo.

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

Remarques

Vous devez uniquement utiliser les données d’état d’obturation obtenues par le biais de cette propriété pendant que l’appareil photo diffuse activement en continu. Les applications doivent répondre de manière logique lorsqu’elles détectent que l’obturateur est fermé. Cela doit inclure un message dans l’application pour ouvrir l’obturateur. Les applications ne doivent pas effectuer automatiquement une action (par exemple, éteindre la caméra) ou empêcher l’utilisateur d’effectuer une action (par exemple, en activant la caméra) en fonction de l’état de l’obturateur, car toutes les caméras ne signalent pas de manière fiable l’état de l’obturateur lorsqu’elles ne sont pas diffusées. Les applications ne doivent pas traiter l’état de l’obturateur signalé comme un indicateur de confidentialité absolu : il s’agit uniquement d’une notification indiquant que la caméra croit que l’obturateur est fermé.

S’applique à