0

基本上,我目前正在开发一个超级简单的地铁应用程序。目前它所做的只是显示一个网络摄像头视频流。当前所有相关代码如下(capture 是 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();
    }

注意:init() 是从 MainPage 的构造函数中调用的,它是当前唯一的页面。

注意 2:当我在模拟器中运行它时,会弹出一个错误(这个错误来自我的常规桌面环境(抱歉质量差)。我使用的是我最近升级到 Windows 8 RTM 的 Windows 7 机器:显示驱动程序崩溃

注意 3:Windows 内置的相机应用程序可以正常工作。

4

2 回答 2

0

根据我猜的消息,问题出在您的显卡驱动程序中,如果您使用的是默认/包含的驱动程序,请尝试使用更具体的驱动程序(例如您可以在 Nvidia 或 ATI 网站上获得的驱动程序)由您的卡制造商提供的驱动程序,然后尝试使用默认/通用驱动程序。一个不错的选择是在模拟器而不是真机中调试您的应用程序,或者(如果可以的话)使用虚拟机。

于 2012-09-03T22:35:47.190 回答
0

所以,事实证明这是我自己犯的一个愚蠢的错误。希望如果其他人也在做同样的事情,尽管他们能找到这个。显然发生的事情是,当我关闭应用程序时,VS 2012 继续调试。当我重新打开应用程序(从开始菜单)时,VS 仍在调试最后一次运行。这不知何故导致显示驱动程序崩溃。如果有人想更深入地解释为什么会发生这种情况,我会很高兴。在确定这是导致所有显示驱动程序崩溃后,我会将其标记为正确答案。

于 2012-09-03T23:31:16.827 回答