VideoDeviceController.CameraOcclusionInfo Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém um objeto CameraOcclusionInfo que pode ser usado para obter o estado de oclusão atual de uma câmera e receber notificações quando o estado de oclusão for alterado.
public:
property CameraOcclusionInfo ^ CameraOcclusionInfo { CameraOcclusionInfo ^ get(); };
CameraOcclusionInfo CameraOcclusionInfo();
public CameraOcclusionInfo CameraOcclusionInfo { get; }
var cameraOcclusionInfo = videoDeviceController.cameraOcclusionInfo;
Public ReadOnly Property CameraOcclusionInfo As CameraOcclusionInfo
Valor da propriedade
O CameraOcclusionInfo para o dispositivo de captura.
Requisitos do Windows
Família de dispositivos |
Windows 11 (introduzida na 10.0.22000.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduzida na v14.0)
|
Exemplos
O código de exemplo a seguir ilustra o uso da classe CameraOcclusionInfo para monitorar o estado de oclusão da câmera.
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");
}
}
Comentários
Você só deve usar os dados de estado do obturador obtidos por meio dessa propriedade enquanto a câmera está transmitindo ativamente. Os aplicativos devem responder de maneira lógica quando detectarem que o obturador está fechado. Isso deve incluir uma mensagem no aplicativo para abrir o obturador. Os aplicativos não devem executar uma ação automaticamente (por exemplo, desativar a câmera) ou impedir que o usuário faça uma ação (por exemplo, ativar a câmera) com base no estado do obturador, pois nem todas as câmeras relatarão de forma confiável o estado do obturador ao não transmitir. Os aplicativos não devem tratar o estado do obturador relatado como um indicador absoluto de privacidade – é apenas uma notificação de que a câmera acredita que o obturador está fechado.