我遇到了声音问题(在 Acer Swift 1 上运行 Ubuntu 18.04)。启动后,声音一开始完全正常(通过扬声器和耳机)。但如果我暂停然后稍后再回来,声音会自动设置为耳机(尽管它们没有插入),并且在设置中没有其他可用选项。但是,如果我真的插入耳机,也没有声音。有时关闭显示器并在声音“播放”时重新打开它会有所帮助,但这并不总是有效。我已经将它发送给 Acer,但他们说这不是他们的问题,因为我正在使用 Ubuntu... 关于问题是什么以及如何解决它,有什么想法吗?
(抱歉,如果解释得有点冗长,因为我不太习惯英语 IT 术语。但愿问题仍然清楚。否则请直接询问 ;-))。
编辑#1:
Pulse Audio 将扬声器和耳机都显示为输出设备,但它还说我已插入耳机(但我没有)并且扬声器不可用......
我尝试了这个建议(https://askubuntu.com/a/78179/307184),但是一旦我选择同时输出选项,就没有声音(无论是通过扬声器还是耳机)。
编辑#2:
显然其他人也遇到了同样的问题(挂起后无声音)。因此,根据建议,以下是我的系统设置信息:
sudo lspci -v
给出:
00:0e.0 Audio device: Intel Corporation Device 3198 (rev 03) (prog-if 80)
Subsystem: Acer Incorporated [ALI] Device 126a
Flags: bus master, fast devsel, latency 0, IRQ 134
Memory at a1114000 (64-bit, non-prefetchable) [size=16K]
Memory at a1000000 (64-bit, non-prefetchable) [size=1M]
Capabilities: [50] Power Management version 3
Capabilities: [80] Vendor Specific Information: Len=14 <?>
Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel, snd_soc_skl
从挂起状态唤醒后,它说(第三行只有一个数字不同,不知道这是什么意思):
00:0e.0 Audio device: Intel Corporation Device 3198 (rev 03) (prog-if 80)
Subsystem: Acer Incorporated [ALI] Device 126a
Flags: bus master, fast devsel, latency 0, IRQ 25
Memory at a1114000 (64-bit, non-prefetchable) [size=16K]
Memory at a1000000 (64-bit, non-prefetchable) [size=1M]
Capabilities: [50] Power Management version 3
Capabilities: [80] Vendor Specific Information: Len=14 <?>
Capabilities: [60] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel, snd_soc_skl
aplay -l
给出(启动和从挂起状态唤醒后相同):
**** Liste der Hardware-Geräte (PLAYBACK) ****
Karte 0: PCH [HDA Intel PCH], Gerät 0: ALC256 Analog [ALC256 Analog]
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
Karte 0: PCH [HDA Intel PCH], Gerät 3: HDMI 0 [HDMI 0]
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
Karte 0: PCH [HDA Intel PCH], Gerät 7: HDMI 1 [HDMI 1]
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
Karte 0: PCH [HDA Intel PCH], Gerät 8: HDMI 2 [HDMI 2]
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
Karte 0: PCH [HDA Intel PCH], Gerät 9: HDMI 3 [HDMI 3]
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
Karte 0: PCH [HDA Intel PCH], Gerät 10: HDMI 4 [HDMI 4]
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
pactl list short sinks
给出(启动和从挂起状态唤醒后也同样如此):
0 alsa_output.pci-0000_00_0e.0.analog-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
1 combined module-combine-sink.c s16le 2ch 44100Hz SUSPENDED
答案1
编辑:2019 年 7 月 18 日
问题已根据新信息进行了修改:
从挂起状态唤醒后,它说(第三行只有一个数字不同,不知道这是什么意思):
第三行从 更改IRQ 134
为IRQ 25
。
中断请求代表中断请求。它基本上是一个电话号码,设备会拨打中央处理器(C恩特拉尔磷处理乌nit) 来完成工作。由于电话号码在挂起和恢复之间发生了变化,因此声卡无法调用 CPU 来完成工作。
这是我几年前使用过的脚本/lib/systemd/system-sleep/sound
:
#!/bin/sh
# NAME: sound
# PATH: /lib/systemd/system-sleep
# CALL: Called from SystemD automatically
# DESC: PulseAudo 8 sets sound to laptop when going to sleep.
# This script sets sound back to TV.
# DATE: Sep 23 2016. Modified: Oct 28, 2018.
# NOTE: Test psmouse for askubuntu.com "Touchpad not working after suspending laptop"
# Aug 5, 2018 - Turn off executition bit. As per AU turn off automatic switching:
# https://askubuntu.com/questions/1061414/how-to-disable-pulseaudio-automatic-device-switch/1061578#1061578
# Turn execution bit back on as there is no sound at all.
case $1/$2 in
pre/*)
echo "$0: Going to $2..."
# Place your pre suspend commands here, or `exit 0` if no pre suspend action required
# modprobe -r psmouse
sleep 1
;;
post/*)
echo "$0: Waking up from $2..."
# Place your post suspend (resume) commands here, or `exit 0` if no post suspend action required
sleep 2
# modprobe psmouse
export PULSE_RUNTIME_PATH="/run/user/1000/pulse/"
sudo -u UserName -E pacmd set-card-profile 0 output:hdmi-stereo
;;
esac
- 更改
UserName
为您的用户名。 - 更改
hdmi-stereo
为输出名称。请参阅通过命令行配置 pulseaudio 输出为了pacmd list-cards
- 使脚本可执行
sudo chmod a+x /lib/systemd/system-sleep/sound
笔记我的新系统不再需要使用此脚本。不确定它是否适用于您的情况,但可能适用。
答案2
该问题与许多类似的问题重复,例如“我的机器没有声音 - 该怎么办?”。
通常有一个简单的解决方案,例如安装这两个包:
sudo apt 安装 amarok rhythmbox
或者
sudo apt install--重新安装 amarok rhythmbox
然后另外添加声卡驱动程序。
也许你应该最后重新启动你的机器:
sudo 重启