2

看来,Windows 10 4 月更新已更改了对摄像头和麦克风等设备的访问权限,默认情况下将所有设备限制为无。

https://privacy.microsoft.com/en-us/windows-10-camera-and-privacy

在此处输入图像描述

我正在使用 Realsense 435 摄像头并希望在用户需要调整隐私设置时通知用户 - 例如“转到隐私设置。选择标签‘摄像头’并打开‘允许应用程序访问您的摄像头’”。

是否有 API 来检测相机隐私设置的当前状态?

4

2 回答 2

2

是否有 API 来检测相机隐私设置的当前状态?

没有内置 API 可让您检测相机隐私设置的状态。

但是如果相机设置关闭,我们可以从另一个角度考虑这个问题。当您初始化相机对象时,它会在您的代码中引发异常。

例如:Camera Resolution Line86如果捕捉到异常,您可以使用以下命令启动相机的隐私设置页面await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-settings:privacy-webcam"));

public async Task InitializeCameraAsync()
{
        MediaCapture = new MediaCapture();
        MediaCapture.Failed += MediaCapture_Failed;

        try
        {
            await MediaCapture.InitializeAsync();
            _previewControl.Source = MediaCapture;
            await MediaCapture.StartPreviewAsync();
            IsPreviewing = true;
        }
        catch (UnauthorizedAccessException)
        {
            // This can happen if access to the camera has been revoked.
            MainPage.Current.NotifyUser("The app was denied access to the camera", NotifyType.ErrorMessage);
            await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-settings:privacy-webcam"));
            await CleanupCameraAsync();
        }
}
于 2018-06-25T07:07:06.700 回答
2

我一直在寻找相同的东西,除了麦克风,并且在更改设置并进行注册表差异之后,我发现更改该设置会更改ValuebetweenAllowDenyat

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\webcam\NonPackaged

对于相机,

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\microphone\NonPackaged

对于麦克风。

NonPackaged密钥用于桌面应用程序。您可以在键处切换(或查询)所有 UWP 访问webcam,并在其子键处分别切换每个 UWP 应用。

于 2021-06-08T22:45:16.257 回答