VideoDeviceController.CameraOcclusionInfo Properti

Definisi

Mendapatkan objek CameraOcclusionInfo yang dapat digunakan untuk mendapatkan status oklusi kamera saat ini dan menerima pemberitahuan saat status oklusi berubah.

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

Nilai Properti

CameraOcclusionInfo untuk perangkat pengambilan.

Persyaratan Windows

Rangkaian perangkat
Windows 11 (diperkenalkan dalam 10.0.22000.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v14.0)

Contoh

Contoh kode berikut mengilustrasikan penggunaan kelas CameraOcclusionInfo untuk memantau status oklusi 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");
    }
}

Keterangan

Anda hanya boleh menggunakan data status rana yang diperoleh melalui properti ini saat kamera sedang aktif melakukan streaming. Aplikasi harus merespons secara logis saat mendeteksi bahwa rana ditutup. Ini harus mencakup pesan dalam aplikasi untuk membuka rana. Aplikasi tidak boleh secara otomatis mengambil tindakan (misalnya, mematikan kamera) atau memblokir pengguna untuk melakukan tindakan (misalnya, menyalakan kamera) berdasarkan status rana, karena tidak setiap kamera akan dengan andal melaporkan status rana saat tidak melakukan streaming. Aplikasi tidak boleh memperlakukan status rana yang dilaporkan sebagai indikator privasi absolut - hanya pemberitahuan bahwa kamera percaya rana ditutup.

Berlaku untuk