我在系统上安装了 Gentoo clean,除了 /home,但我删除了所有可能影响声音的隐藏文件夹(.mplayer .pulse* .config .esd_auth 等),对于新用户,adduser mistertest -m -G audio,video,users
结果是相同的,没有当我在 mplayer 中播放文件时发出声音。
它是 Z68 芯片组,我在 CPU 中使用 Intel IGP H2000,所以这不应该是我主板上 spdif 连接器的问题,我认为我已经在内核中安装了所有正确的模块。我没有额外的硬件来检查我的声音是否正常工作(没有耳机或外部扬声器),但我认为问题要么是一些错误的配置,要么是内部 spdif(如果有的话)。
dronemother ~ # lsmod | grep snd
snd_hda_codec_hdmi 22705 1
snd_hda_codec_realtek 190506 1
snd_hda_intel 21727 3
snd_hda_codec 63422 3 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel
snd_hwdep 5726 1 snd_hda_codec
snd_pcm 69969 3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_timer 17697 1 snd_pcm
snd 53814 13 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_ timer
soundcore 5009 1 snd
snd_page_alloc 6641 2 snd_hda_intel,snd_pcm
dronemother ~ # lspci -v
# cut other stuff away here
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 05)
Subsystem: ASRock Incorporation Device 1892
Flags: bus master, fast devsel, latency 0, IRQ 46
Memory at fe600000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [50] Power Management version 2
Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [100] Virtual Channel
Capabilities: [130] Root Complex Link
Kernel driver in use: snd_hda_intel
Kernel modules: snd-hda-intel
我安装了pulseaudio、alsa-plugins、mplayer、mixer 和 pavucontrol。在 mplayer 中播放文件时没有出现任何错误,只是没有声音。
那么如何检查我的问题到底出在哪里呢?
编辑:我刚刚从 Ubuntu Live USB 记忆棒启动电脑,声音也不起作用。 (时间长一点,不能每天重启服务器,有些人依赖它的服务。)
答案1
在 gentoo IRC 上多次询问这个问题后,最后论坛,我被推向正确的方向并能够解决问题。
~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC892 Digital [ALC892 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
如第 2 行所述,这些是所有可用的播放设备。我相应地配置了我的 /etc/asound.conf 。 (也可以在每个用户的 ~/.asoundrc 中完成)
~ $ cat /etc/asound.conf
pcm.analog {
type hw
card 0
device 0 }
pcm.digital {
type hw
card 0
device 1 }
pcm.hdmi0 {
type hw
card 0
device 3 }
pcm.hdmi1 {
type hw
card 0
device 7 }
在每个条目中,点后面的部分是可以自由选择的本地别名。其他应用程序可以使用它来识别设备。使用aplay -D plug:hdmi1 ~/soundfile.wav
finally 播放声音(实际上你应该播放wav 文件,因为aplay 无法解码mp3 或类似文件)。
所以我将这几行附加到我的 /etc/asound.conf 中
pcm.!default {
type plug
slave.pcm "hdmi1"
}
现在一切都像魅力一样。