Firefox HTML5 音频:无法解码媒体资源 (OnMediaSinkAudioError)

Firefox HTML5 Audio: Media resource could not be decoded (OnMediaSinkAudioError)

此问题与在 Firefox 中播放媒体有关。在移动工作站后尝试流式传输音频时,我在控制台中收到以下错误:

Media resource [...] could not be decoded [...] NS_ERROR_DOM_MEDIA_MEDIASINK_ERR (0x806e000b) Details: OnMediaSinkAudioError

在这种情况下,这与网站设置或音频流的内容无关,因为它们之前是有效的。

在线搜索 OnMediaSinkAudioErrorNS_ERROR_DOM_MEDIA_MEDIASINK_ERR 似乎只能找到 Firefox 本身的代码提交或存储库,因此这似乎不是一个常见问题。

事实证明,在这种情况下,该错误具有误导性,因为它是由 Windows 音频输出设备配置错误引起的。

将我的耳机从后置音频端口换到前置并重新启动工作站后,一切正常。重新启动 Firefox 可能也足够了。

我不止一次遇到同样的问题,这次在显示控制台(在 Soundcloud 上)后,我看到记录了 NS_ERROR_DOM_MEDIA_MEDIASINK_ERR 错误,并用谷歌搜索找到这个 SO 问题。为我解决这个问题的是 drivereasy 的第一个解决方案(重新启动 Windows 音频服务),甚至没有重新启动 Windows 或 Firefox。

  1. 按住 Windows 标志并按 R 键。将弹出 运行 对话框。
  2. 在 运行 框中键入 services.msc,然后单击“确定”按钮。
  3. 在右侧的服务 Window 中,从“名称”列表中找到 Windows 音频 并右键单击它。在弹出菜单中单击重新启动。然后音频服务会重启。

一个 cmd oneliner 将 net stop AudioSrv && net start AudioSrv,运行 作为管理员。

如果您正在使用 VS CODE Live Server 扩展,Javascript Audio() 将不会播放声音。尝试 运行 没有扩展名的网站。