启动后首次尝试播放音频会导致 30 秒延迟

启动后首次尝试播放音频会导致 30 秒延迟

一段时间以来,我的笔记本电脑一直存在一个奇怪的声音问题。在启动计算机后,我第一次尝试播放任何类型的声音时,声音播放前大约有 30 秒的延迟。这种情况只在启动后发生过一次。无论我在启动后多久尝试播放声音(例如,2 分钟或 2 小时),或我尝试使用哪个应用程序,都会发生这种情况。

但是,不同应用程序的行为有所不同。在 iTunes 等桌面应用程序中,单击“播放”按钮会导致应用程序阻塞约 30 秒,然后从流的开头开始播放。在网络上(在 Google Chrome 中),流式音频和视频在前约 30 秒内无声播放,然后突然在当前位置(而不是流的开头)开始有声音。

需要说明的是,我的音频/视频从未不同步过——要么一切都延迟了 30 秒,然后自行修复(例如,想象一个非常长的 I/O 操作),要么视频和计算机运行顺畅,但在前 30 秒内只是静默。无论如何,在最初的延迟之后,我没有遇到任何其他问题,直到我重新启动计算机。

Windows 将我的声卡列为“IDT 高清晰度音频编解码器”。我尝试了 IDT 网站,但它没有为最终用户提供驱动程序,而是让我访问戴尔的驱动程序下载网站(我已经安装了戴尔网站上的最新驱动程序)。我运行了 Microsoft 的 FixIt 程序来排除音频故障,但没有发现任何问题(例如,音频服务已启用、驱动程序已安装等)。我检查了事件查看器,没有看到任何与音频相关的内容。我还应该检查什么?

答案1

这是由于 Audiodg.exe 扫描了所有 .CAT 文件而导致的

C:\Windows\System32\catroot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}

您安装的更新或 MUI 包越多,Windows 验证它们所需的时间就越长。几年前我已经向 MSFT 报告了这个问题,但我不知道他们是否会修复它。

答案2

我找到了真正的原因和一些解决方法。

原因

编解码器l3codeca.acm没有嵌入签名,因此 Windows 需要从 catroot 查找正确的签名。如果您的系统中有很多补丁,那么 catroot 会很大,查找可能需要很长时间。

整个启动延迟都是由这个单一编解码器引起的(!)。这个问题似乎早在 Windows 中引入 l3codeca 时就存在了。

解决方法

1.l3codeca.acm从注册表禁用:

找到HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Drivers32具有该值的键C:\Windows\System32\l3codeca.acm并将其重命名为其他名称。示例C:\Windows\System32\l3codeca.acm_disabled

2.禁用音频编解码器的签名检查(潜在的安全风险):

添加HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AudioDWORD DisableProtectedAudioDG1。

相关内容