基本上,我有一个我正在研究的超级简单的地铁应用程序。目前所做的只是显示网络摄像头视频流。所有相关的当前代码如下(捕获是在XAML中定义的CaptureElement,mediaCapture是MediaCapture类型)。第一次在VS 2012中以调试本地系统模式运行程序时,代码完美运行。然后我通过从顶部拖动来关闭应用程序。但是,下次我运行该程序时,我的显示驱动程序崩溃 - 来自Windows事件查看器:“显示驱动程序igfx停止响应并已成功恢复。”。我不熟悉在C#中进行任何开发,所以我不确定从哪里开始寻找造成这种情况的原因。任何帮助将不胜感激,谢谢。
private async void init()
{
mediaCapture = new MediaCapture();
MediaCaptureInitializationSettings mc = new MediaCaptureInitializationSettings();
mc.StreamingCaptureMode = StreamingCaptureMode.Video;
await mediaCapture.InitializeAsync(mc);
capture.Source = mediaCapture;
await mediaCapture.StartPreviewAsync();
}
注意:从MainPage的构造函数中调用init(),这是当前唯一的页面。
注2:这是我在模拟器中运行时弹出的错误(虽然这个错误来自我的常规桌面环境(抱歉质量很差)。我正在使用我最近升级到Windows的Windows 7机器8 RTM:
注3:Windows内置的相机应用程序运行正常。
答案 0 :(得分:0)
根据我猜的消息,问题在于您的显卡驱动程序,如果您使用默认/包含的,请尝试使用一些更具体的(如您可以在Nvidia或ATI网站获得的那些),如果你'重新使用卡制造商提供的驱动程序,然后尝试默认/通用的驱动程序。一个好的选择可能是在Simulator中而不是在真机上或者(如果可以的话)使用虚拟机来重新编写应用程序。
答案 1 :(得分:0)
所以,事实证明这是我自己的一个愚蠢的错误。希望如果其他人做同样的事情,虽然他们可以找到这个。显然,当我关闭应用程序时,VS 2012继续调试。当我重新打开应用程序(从开始菜单)时,VS仍在调试上次运行。这不知何故导致显示驱动程序崩溃。如果有人想更深入地解释为什么会发生这种情况,我会很高兴。在我确定这导致所有显示驱动程序崩溃后,我会将此标记为正确答案。