在UWP应用程序中访问网络摄像头被拒绝

3
我试图创建一个简单的UWP应用程序,按照https://developer.microsoft.com/en-us/windows/iot/samples/webcamapp上的教程使用https://github.com/ms-iot/samples/tree/develop/WebcamApp/CS中的代码访问我的网络摄像头。我在我的Windows 10笔记本电脑上使用VS 2017, 15.5.3进行了x64和x86构建,但都给了我同样的访问被拒绝错误,即

Exception thrown: 'System.UnauthorizedAccessException' in System.Private.CoreLib.ni.dll 
WinRT information: Access is denied.

位于MainPage.xaml.cs的第202行,在await mediaCapture.InitializeAsync();处。

在抛出异常之前,应用程序确实要求用户允许其使用相机,但即使点击“是”,也没有任何区别。

我的相机驱动程序已经完全更新,其他UWP应用程序可以正常访问相机,就像这里一样。我已经研究了其他问题,这些问题涉及到UWP应用程序的文件IO访问问题,但无法将它们用作解决对网络摄像头的访问的提示。

非常感谢您的帮助。谢谢。

2个回答

5
您需要在应用清单中设置麦克风和网络摄像头功能。
步骤如下:
1. 双击Solution Explorer中的package.appxmanifest文件。 2. 选择Capabilities选项卡。 3. 勾选Webcam和Microphone的复选框。
更新: 您正在运行稳定版本的Windows 10吗?请尝试从设备中卸载应用程序,然后从项目文件夹中删除bin和obj文件夹以确保没有剩余文件。最后,请尝试在没有调试器的情况下打开应用程序(例如从开始菜单中打开),如果仍无法解决问题。

我正在使用最新版本的Windows 10,上次检查是几个小时前。应用程序已卸载,计算机已重新启动,代码已重新下载,创建了一个新的VS解决方案,重新编译并运行应用程序,但问题仍然存在。 - AwAw123
1
即使是最新的代码也无法工作。但至少它并不普遍存在。我现在必须寻找一些不寻常的电脑设置,才能让它工作。 - AwAw123
@ShubhamSahu 电脑隐私设置中的摄像头已经为所有应用程序开启,包括我正在开发的应用程序。感谢您的建议。还有其他想法吗? - AwAw123
根据马丁的说法,@AwAw123,你的应用在他的电脑上运行良好,因此可能是你的电脑阻止了应用程序访问摄像头。所以你可以检查一下你的杀毒软件,因为我使用的杀毒软件“AVG”有一个功能可以阻止应用程序访问摄像头。稍后我会在我的电脑上检查你的应用程序样本。 - Shubham Sahu
代码在其他机器上可以运行。我知道现在我必须进行干净的Windows安装才能使其正常工作,但我现在不想这样做。谢谢大家的帮助。 - AwAw123
显示剩余6条评论

0
我被这个问题困扰了几个小时,后来发现它只出现在我的调试版本中,而不是发布版本中。原来调试版本有一个单独的清单文件,名为Debug.appxmanifest,与发布版本使用的Package.appxmanifest不同。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接