You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WinForm中Windows Media Player无法播放视频且致应用崩溃

WinForm中Windows Media Player播放视频触发0xc0000005访问违规的解决方法
  • 调整URL赋值时机
    避免在Form1_Load事件中设置视频路径,改用Form_Shown事件。因为Load事件触发时,WMP控件的COM组件可能尚未完成初始化,直接赋值会导致内存访问错误。示例代码:

    private void Form1_Shown(object sender, EventArgs e)
    {
        axWindowsMediaPlayer1.URL = @"D:\jumpscare.mp4";
    }
    
  • 验证控件就绪状态后再播放
    设置URL前先检查控件的播放状态,确保组件已准备完毕:

    private void Form1_Shown(object sender, EventArgs e)
    {
        if (axWindowsMediaPlayer1.playState == WMPLib.WMPPlayState.wmppsReady)
        {
            axWindowsMediaPlayer1.URL = @"D:\jumpscare.mp4";
        }
    }
    
  • 启用程序兼容模式
    右键生成的应用程序exe文件,进入「属性→兼容性」,勾选「以兼容模式运行这个程序」,选择Windows 7或Windows 8。Windows 11的WMP控件存在部分兼容性问题,兼容模式可缓解这类内存访问冲突。

  • 检查系统WMP的可用性
    打开系统自带的Windows Media Player,尝试播放目标视频文件,确认播放器本身能正常工作。如果系统WMP无法播放,可通过「设置→应用→可选功能→添加功能」重新安装Windows Media Player组件。

  • 修改项目平台目标
    在Visual Studio中右键项目→「属性→生成」,将平台目标从「Any CPU」改为「x86」。WMP的COM组件优先适配32位环境,64位进程下容易出现访问违规问题。

内容的提问来源于stack exchange,提问作者Beliy.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 14:32:37