在我的笔记本电脑上,我有一个 .asoundrc 文件,它可以将声音输出到我的 USB 耳机。这对于 SMplayer 和 Firefox 来说很好用。但是,Google Chrome(至少是基于 Flash 和 HTML5 的视频以及 Chrome 中基于 HTML5 的音频)却通过笔记本电脑扬声器播放。我曾尝试从命令行运行 Chrome,希望能得到一些有用的输出,但没有那么幸运。我曾尝试通过 Google 查找 Chrome 是否使用 ALSA,或者是否使用其他东西,但一直没有成功。
这个问题似乎是同样的问题,但没有提出建议。
有人有什么想法吗?我运行的是 Gentoo,内核是 3.10.17,ALSA 实用程序是 1.0.27,FVWM 是 2.6.5,Chrome 是 36.0.1985.143。如果您需要更多信息,请告诉我。
编辑:
我已将 USB 耳机配置为默认 ALSA 设备。使用 alsamixer 设置和取消静音耳机和板载设备的音量。我的 .asoundrc 文件如下。
ctl.!default {
type hw
card Headset
}
pcm.dmixer {
type dmix
ipc_key 1024
slave {
pcm {
type hw
card Headset
}
period_size 1024
buffer_size 4096
}
bindings {
0 0
1 1
}
}
pcm.!default {
type plug
slave.pcm dmixer
}
编辑2:更多信息
从命令行运行 mplayer 和 google-chrome-stable。一旦 mplayer 播放视频(和音频),我就会启动 Chrome,转到 YouTube,然后播放视频。音频从扬声器中传出。命令行输出如下:
[27649:27688:0820/162104:ERROR:gservices_settings.cc(103)] Setting not found: checkin_interval
[27649:27748:0820/162105:ERROR:get_updates_processor.cc(240)] PostClientToServerMessage() failed during GetUpdates
[27649:27688:0820/162211:ERROR:raw_channel_posix.cc(139)] recvmsg: Connection reset by peer
[27649:27688:0820/162211:ERROR:channel.cc(297)] RawChannel fatal error (type 1)
[27649:27688:0820/162212:ERROR:raw_channel_posix.cc(139)] recvmsg: Connection reset by peer
[27649:27688:0820/162212:ERROR:channel.cc(297)] RawChannel fatal error (type 1)
[WARNING:flash/platform/pepper/pep_module.cpp(63)] SANDBOXED
[27649:27688:0820/162235:ERROR:raw_channel_posix.cc(139)] recvmsg: Connection reset by peer
[27649:27688:0820/162235:ERROR:channel.cc(297)] RawChannel fatal error (type 1)
答案1
我刚刚将内核从 3.10.17 更新到 3.14.14,问题已经解决。Chrome 中的声音又通过我的 USB 耳机发出了。感谢大家的帮助。
答案2
我遇到了不同的问题。在使用 pulseaudio 之前,当我删除它时,crhome/chromium/firefox 甚至 mplayer 都出现了无声问题(没有 -ao alsa:device=hw=8.0 配置)。将 alsamixer 设置为默认使用正确的卡后,尝试导出 XDG_RUNTIME_DIR= && /usr/bin/chromium --alsa-output-device=default 如果有效,您也可以查看 $XDG_RUNTIME_DIR,您可能会看到 pulse 文件夹,我猜这会导致问题。
注意:安装 pulse 后,设置默认 alsa 声卡可能也比较棘手。首先删除 pulseaudio 和 ~/.pulse* 文件夹。我的情况是 /etc/asound.conf 影响 root,但在我删除 pulse 之前对我没影响。
附言:我理解“export XDG_RUNTIME_DIR=”解决方案并不完美,并且表明我的配置中还残留了一些脉冲。