VideoDeviceController.CameraOcclusionInfo Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.