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");
}
}
備註
您應該只在相機主動串流時,才使用透過此屬性取得的快門狀態資料。 當應用程式偵測到關閉快門時,應用程式應該以邏輯方式回應。 這應該包含應用程式內訊息,以開啟快門。 應用程式不得 (自動採取動作,例如關閉相機) 或封鎖使用者執行動作 (例如,根據快門狀態開啟相機) ,因為並非所有相機在未串流時都會可靠地報告快門狀態。 應用程式不得將回報的快門狀態視為絕對隱私權指標 ,它只是相機認為關閉快門的通知。