我有一台英特尔 NUC6CAYH,连接到一台不是很新的三星 42 英寸电视。当我进入声音设置并选择“通过 HDMI/Displayport 播放声音”时,软件似乎认为一切正常,但没有发出声音。
我检查了 alsamixer 中的所有内容是否都已静音,并且 pavucontrol 显示正在产生声音。
答案1
经过大量实验后,我发现让显示器进入睡眠状态(例如,当屏幕在一段时间不活动后关闭时),唤醒它,然后重新启动 pulseaudio 可以使声音一直工作到下次重启。
我将 PC 用作 HTPC,在启动时加载 kodi,因此我通过创建一个小脚本来启动 kodi,从而自动执行此操作:
#! /bin/sh
xset dpms force off
sleep 1
pulseaudio -k
sleep 1
/usr/bin/kodi -fs
在之前尝试修复此问题时,我将 pulseaudio 设置为永不让声音设备休眠(load-module module-suspend-on-idle
在 中注释掉/etc/pulse/default.pa
),并将默认采样率设置为 48000(default-sample-rate = 48000
在 中/etc/pulse/daemon.conf
)。不确定这些设置是否有助于修复此问题,但仅靠这些设置是不够的。
我还报告了针对 Ubuntu 16.04 的一个错误:
https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1709708