VideoDeviceController.CameraOcclusionInfo プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
カメラの現在のオクルージョン状態を取得し、オクルージョン状態が変更されたときに通知を受信するために使用できる CameraOcclusionInfo オブジェクトを取得します。
public:
property CameraOcclusionInfo ^ CameraOcclusionInfo { CameraOcclusionInfo ^ get(); };
CameraOcclusionInfo CameraOcclusionInfo();
public CameraOcclusionInfo CameraOcclusionInfo { get; }
var cameraOcclusionInfo = videoDeviceController.cameraOcclusionInfo;
Public ReadOnly Property CameraOcclusionInfo As CameraOcclusionInfo
プロパティ値
キャプチャ デバイスの CameraOcclusionInfo 。
Windows の要件
デバイス ファミリ |
Windows 11 (10.0.22000.0 で導入)
|
API contract |
Windows.Foundation.UniversalApiContract (v14.0 で導入)
|
例
次のコード例は、 CameraOcclusionInfo クラスを使用してカメラのオクルージョン状態を監視する方法を示しています。
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");
}
}
注釈
カメラがアクティブにストリーミングされている間は、このプロパティを介して取得したシャッター状態データのみを使用する必要があります。 アプリは、シャッターが閉じられたことを検出したときに論理的な方法で応答する必要があります。 これには、シャッターを開くアプリ内メッセージが含まれている必要があります。 すべてのカメラがストリーミングされていないときにシャッター状態を確実に報告するわけではないので、アプリケーションは自動的にアクションを実行したり(カメラをオフにするなど)、シャッター状態に基づいてユーザーがアクションを実行するのをブロックしたりすることはできません。 アプリケーションは、報告されたシャッター状態を絶対プライバシー インジケーターとして扱う必要はありません。これは、カメラがシャッターが閉じていると信じているという通知に過ぎません。