视频开始播放之前的AccessViolation(0xc0000005)

时间:2017-02-13 14:44:54

标签: c# .net windows-10 access-violation axwindowsmediaplayer

我的Windows窗体应用程序意外关闭,调试控制台在开始播放视频之前说AccessViolation 0xc0000005。

我使用以下代码启动视频:

private void Form1_Load(object sender, EventArgs e)
{
    axWindowsMediaPlayer1.URL = @"C:\Program Files\MyApp\Video.mp4";
    axWindowsMediaPlayer1.Ctlcontrols.play();
}

如果视频结束关闭并退出表单:

private void axWindowsMediaPlayer1_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
{
    if(e.newState == 8)
    {
        axWindowsMediaPlayer1.close();
        this.Close();
    }
}

玩家的设计师代码

this.axWindowsMediaPlayer1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right)));
this.axWindowsMediaPlayer1.Enabled = true;
this.axWindowsMediaPlayer1.Location = new System.Drawing.Point(0, 0);
this.axWindowsMediaPlayer1.Name = "axWindowsMediaPlayer1";
this.axWindowsMediaPlayer1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axWindowsMediaPlayer1.OcxState")));
this.axWindowsMediaPlayer1.Size = new System.Drawing.Size(1906, 1066);
this.axWindowsMediaPlayer1.TabIndex = 2;
this.axWindowsMediaPlayer1.PlayStateChange += new AxWMPLib._WMPOCXEvents_PlayStateChangeEventHandler(this.axWindowsMediaPlayer1_PlayStateChange);

调试输出:

  

程序' [(PID)] game.vshost.exe'已退出代码-1073741819(0xc0000005)'访问违规'。

我曾尝试使用try-catch,但错误并未被捕获。但问题不是试试。 应用程序以管理员权限运行。

来自Windows事件查看器的应用程序事件:

D3D9.DLL

  

错误应用程序名称:game.exe,版本:1.0.0.0,时间戳:0x58a1bd65
  错误模块名称:D3D9.DLL,版本:10.0.14393.447,时间戳:0x5819bcea
  例外代码:0xc0000005
  故障偏移:0x0000000000010207
  错误进程id:0x189c
  故障应用程序启动时间:0x01d2860e39d0d6e7
  错误的应用程序路径:C:\ Users \ Lenovo \ Desktop \ game.exe
  错误模块路径:C:\ WINDOWS \ SYSTEM32 \ D3D9.DLL
  报告编号:21a37f31-b9d0-4137-ad79-35d608e10916
  错误包全名:
  故障包相关申请ID:


NET运行时

  

应用程序:game.exe
  框架版本:v4.0.30319
  描述:由于未处理的异常,该过程终止   异常信息:考试代码c0000005,考试地址00007FFFD7490207

我的电脑是Windows 10单语言1607(14393.693)

TINY NOTE :1个月前创建或编辑后,此错误会导致我的所有项目失效。

更新: 在Windows Server 2012,Windows 8.1和Windows 7虚拟机以及我的电脑上抛出相同的错误

2 个答案:

答案 0 :(得分:0)

很抱歉碰到这个线程,但这也许可以帮助某人。 我遇到了同样的问题,解决方法是将默认图形处理器从外部(nVidia)GPU更改为集成(Intel)GPU。

答案 1 :(得分:0)

2021 年仍会发生。最终通过安装最新的 Nvidia 驱动程序并在 Nvidia 控制面板中修复它 -> 使用预览调整图像设置,选择“使用我的首选项强调:性能”。 >

默认为质量,它会导致问题。将其更改为 Performance,错误就会消失。