登录屏幕上的内部扬声器有声音 - 但登录后没有声音(仅外部扬声器工作)?

登录屏幕上的内部扬声器有声音 - 但登录后没有声音(仅外部扬声器工作)?

登录屏幕上播放声音(鼓声)。在 Ubuntu 和 Xubuntu XFCE 中,笔记本电脑扬声器不会发出声音,但外部扬声器会发出声音。 Pulseaudio 面板监听条随着声音跳舞......但什么也没听到。

已经进行了许多测试,如下所列,并在答案 1 的评论中列出。到目前为止,还没有人提出一种确定如何将声音引导至内部扬声器的方法。

Ubuntu MutiMedia 论坛建议在这里提问,因为那里没有人可以确定纠正此问题的正确程序所有测试都已记录在该论坛上。

我正在运行 Ubuntu 12.04 LTS。

这是 Alsa 信息脚本日志: http://www.alsa-project.org/db/?f=77747dc55bb07c3ef222dec15332bd35d5ab9aaf

然:

$ echo autospawn = no >> ~/.config/pulse/client.conf  #use ~/.pulse/client.conf on Ubuntu <= 12.10
$ killall pulseaudio
$ LANG=C pulseaudio -vvvv --log-time=1 > ~/pulseverbose.log 2>&1

输出:http://filebin.ca/2BYEAFV6WLpi/pulseverbosecopy.log

然:

$ pacmd
No PulseAudio daemon running, or not running as session daemon.
$ rm -r ~/.pulse*; pulseaudio -k
E: [pulseaudio] main.c: Failed to kill daemon: No such process

其他测试日志:

pastebin.com/3nhedfx6
pastebin.com/4UVxCJXM
pastebin.com/XxbSDvRR

也许如果我们可以在登录屏幕上建立声音设置,我们就会看到应该如何配置它。

有人可以帮忙吗?

答案1

我不建议清除pulseaudio包。如果您确实想尝试的话,可以删除它的文件,然后重新安装。

需要检查的事项:

psg () { ps u -p $(pgrep "${@:--u$USER}");  }  # define a handy function

psg pulse   # see if there is a pulseaudio process running

cat /proc/asound/card0/pcm0p/sub0/hw_params 
  # see if anything in your system has the sound device open

lsof /dev/snd/pcmC0D0p
  # see what has the sound device open

pavucontrol   # a pulseaudio config gui

这些命令都是检查 alsa 的第一个 PCM 播放流card0。这是 HDA-Intel 模拟输出,几乎可以肯定它是连接到扬声器的。

事实上,嗯,我不能 100% 确定你的系统有card0模拟输出。看起来像是card0您的 HDMI 输出,并且card1

Card hw:1 'SB'/'HDA ATI SB at 0xd0440000 irq 16'

尝试通过card1 播放一些内容。例如

aplay -L  # choose a "device string"
aplay -vv -D hw:CARD=HDMI,DEV=3 foo.wav
# vs.
aplay -vv -D hw:CARD=PCH,DEV=0 foo.wav

您的系统上的设备子号可能不同。

这些直接的 hw: 设备是pulseaudio 用作后端的设备。如果pulseaudio打开了alsa硬件设备,aplay将无法直接使用它,只能通过dmix:CARD=PCH,DEV=0或类似的方式使用(dmix:设备实际上将数据发送到pulseaudio以允许共享,而不是直接发送到设备。)

-D default是 alsa 默认值,大概是您的pulseaudio 设置为使用的。不过 PA 是可配置的。如果需要,您可以将其默认输出更改为实际发出噪音的输出aplay

抱歉,我没有深入研究您所说的所有内容,因此其中一些内容可能是多余的。

Linux 的一大优点是,当高级前端的东西变得更加混乱而不是更少,或者看起来过于复杂时,通常很容易在引擎盖下探索。 :) (不过 dbus / systemd 是例外。)

相关内容