我发布这个问题主要是因为经过多年(是的,多年 - 例如,参见[这篇文章][1])生活在这种挫败感中,我昨天终于解决了这个问题,并希望让其他人免受这种挫败感。
我主要用于Firefox
浏览需求,但在某些时候我遇到了无法在 Twitter 上观看视频的情况,并发现Chrome
可以播放它们,只是我听不到任何声音。一些调查表明,这是因为这些是HTML5
视频,Firefox 和 Chrome 都不会在 HTML5 视频上产生声音(例如在 Youtube 上进行的测试),而 Flash 在两者上都工作正常。
如果您遇到同样的问题并通过其他方式解决了此问题,请在此处发布您的解决方案。
答案1
进一步的调查让我发现,如果我pulseaudio
在启动 Chrome 之前启动,我可以通过连接从电视中听到声音HDMI
。奇怪的。
没有任何调整可以.asoundrc
解决这个问题,我之前添加过:
defaults.pcm.card 0
defaults.ctl.card 0
为了解决这个问题,但这显然不再有效。
然后我找到了这个文件/usr/share/alsa/alsa.conf.d/99-pulseaudio-default.conf
::
# Default to PulseAudio
pcm.!default {
type pulse
hint {
show on
description "Default ALSA Output (currently PulseAudio Sound Server)"
}
}
ctl.!default {
type pulse
}
这看起来很可疑,所以我注释掉了所有行(删除会达到相同的效果)。重新启动我的浏览器,然后噗现在我的 HTML5 视频中有声音了。这很奇怪,因为你会认为 alsa 会以 my.asoundrc
为最高优先级,而我指定 my!default
为其他内容(即不是pulseaudio)。但是你现在有了。问题解决了。希望这对其他人有帮助。
答案2
注意:我添加为一个单独的答案,因为这是一种单独的方法,人们会根据解决其具体情况的方法进行投票(我也很好奇哪种解决方案可以为最多的人解决问题。)
我刚刚遇到了另一个问题,试图使用 Chrome 来JACK
获得类似 dmix 的行为(即多个进程共享声卡)。如果您使用qjackctl
(或其他一些此类 JACK 管理器)并且您以前没有收到声音,或者知道您应该收到声音,则您可能已将 JACK 服务器重命名为“默认”以外的其他名称(或 Chrome 可能期望的任何名称) 。
要解决这个问题:转到qjackctl,单击“设置”,在显示“参数”的地方有一个“名称”下拉列表,选择“(默认)”(或您认为Chrome期望的任何名称),重新启动Chrome并完成。