Compartir a través de


VideoDeviceController.CameraOcclusionInfo Propiedad

Definición

Obtiene un objeto CameraOcclusionInfo que se puede usar para obtener el estado de oclusión actual de una cámara y recibir notificaciones cuando cambia el estado de oclusión.

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

Valor de propiedad

CameraOcclusionInfo para el dispositivo de captura.

Requisitos de Windows

Familia de dispositivos
Windows 11 (se introdujo en la versión 10.0.22000.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v14.0)

Ejemplos

En el código de ejemplo siguiente se muestra el uso de la clase CameraOcclusionInfo para supervisar el estado de oclusión de la cámara.

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

Comentarios

Solo debe usar los datos de estado del obturador obtenidos a través de esta propiedad mientras la cámara está transmitiendo activamente. Las aplicaciones deben responder de forma lógica cuando detectan que el obturador está cerrado. Esto debe incluir un mensaje en la aplicación para abrir el obturador. Las aplicaciones no deben realizar automáticamente una acción (por ejemplo, apagar la cámara) o impedir que el usuario realice una acción (por ejemplo, encender la cámara) en función del estado del obturador, ya que no todas las cámaras notificarán de forma confiable el estado del obturador cuando no se transmite. Las aplicaciones no deben tratar el estado de obturación notificado como un indicador de privacidad absoluto: es solo una notificación de que la cámara cree que el obturador está cerrado.

Se aplica a