根本原因是媒体管道初始化被阻断;需优先解除网站静音与声音权限阻断,禁用uBlock Origin等劫持扩展,清除GPUCache/ShaderCache缓存,并重置chrome://flags中Hardware-accelerated video decode等媒体开关为Enabled后重启。

谷歌浏览器无法播放HTML5视频且页面持续显示“加载中”转圈,根本原因不是网络慢或视频地址错,而是媒体管道在初始化阶段被阻断——可能是网站权限拒绝、扩展劫持fetch请求、GPU缓存损坏导致解码器无法注册,或chrome://flags中关键媒体开关被意外关闭。
检查并解除网站级静音与声音权限阻断
这一步必须最先做。B站、YouTube等平台检测到标签页被三级静音后,会主动冻结video标签的preload行为和MSE初始化,造成“有URL却卡转圈”的假象。
点击当前视频页标签左端,看是否有带斜线的扬声器图标;若有,直接点击切换为实心扬声器。
右键该标签页 → 选择“取消静音此网站”;再点击地址栏左侧锁形图标 → “网站设置” → 检查“声音”是否设为“允许”,【若显示为“阻止”,必须手动改为“允许”】。
立即学习“前端免费学习笔记(深入)”;
按Win + A打开Windows快速设置 → 点击音量图标 → 打开“音量合成器”,找到“Google Chrome”,确认其滑块未被拉至最低且未勾选静音。
禁用uBlock Origin等劫持video请求的扩展
广告拦截类扩展会静默屏蔽Media Source Extensions所需的fetch分片请求,不报错、不弹窗,只让播放器永远停在“加载中”状态。
方法一:临时禁用全部扩展
在地址栏输入chrome://extensions → 将所有已安装扩展的开关全部关闭 → 刷新视频页验证是否恢复。
方法二:精准定位干扰源
按F12打开开发者工具 → 切换到Network标签 → 刷新页面 → 筛选XHR或Media类型 → 观察视频分片(如index.m3u8、seg-1.ts)是否返回200;若大量请求显示blocked或pending,说明扩展正在拦截。
注意:uBlock Origin默认启用“防止视频自动播放”和“阻止媒体资源预加载”规则,无需额外配置即可触发此问题。
清除GPUCache与ShaderCache强制重建解码环境
常规“清除浏览数据”完全不触碰这两个目录,但它们是Chrome启动时自动生成的GPU指令缓存和着色器编译缓存。v139.0更新若中途中断,损坏的二进制缓存会被持续加载,导致解码器拒绝初始化——结果就是video标签存在,但src加载永远pending。
第一步:按下Ctrl+Shift+Esc打开任务管理器 → 在“进程”页签下结束所有 chrome.exe 进程(含后台隐藏进程)。
第二步:按下Win + R → 输入%localappdata%\Google\Chrome\User Data\GPUCache → 回车 → 【彻底删除整个GPUCache文件夹】。
第三步:返回上一级目录(即User Data),若存在同名ShaderCache文件夹,一并删除。
第四步:重启Chrome,系统将自动重建全新GPU缓存链路。
重置chrome://flags媒体相关实验性设置
Chrome v139+默认关闭了部分媒体开关,尤其当用户曾手动调整过AV1、WebGPU或硬件解码标志后,极易引发MSE初始化失败,表现为video.readyState始终为0、networkState为0,且无任何控制台报错。
① 在地址栏输入chrome://flags → 回车。
② 搜索Hardware-accelerated video decode → 设为Enabled。
③ 搜索Media Foundation Video Decoder → 设为Enabled。
④ 搜索Override software rendering list → 设为Enabled。
⑤ 点击右下角【重启】按钮,不是关闭窗口再打开,必须让进程彻底退出后重启。



















