语境:Ubuntu 16.04.2(64 位)可通过(NVIDIA GTX1070)HDMI 将声音传输到接收器。
我一般不会遇到声音问题,过去我玩过 Steam 上的几款 Unity 引擎游戏(32 位和 64 位),都没有问题,但玩这个游戏时我完全听不到声音。我正在跟进开发人员,但他们的 Linux 版本相当新,我怀疑他们对 Linux 总体了解不多。
我将 Quod Libet 与 ALSA 一起使用,因此不久前我设置了一个面板指示器来向我显示声音硬件(的输出)的用途cat /proc/asound/NVidia/pcm7p/sub0/hw_params
,因此当游戏开始时我可以看到输出从变为closed
通常的S32LE — 6 channels — 48.0kHz
* 但扬声器中没有任何声音出来。
这是一款 32 位游戏,但开发人员尝试了 64 位版本,结果相同。
我并不指望在这里找到解决方案;只是希望有人可能见过类似的东西。我想下一站是 Unity 论坛。
[我认为如果这里有一个标签的话,搜索起来会比较好unity-game-engine
,因为标签使用得相当频繁,但我的声誉没有 300 点 :-( 我看到其他帖子也使用这个标签,unity
这具有误导性。]
*完整输出:
access: MMAP_INTERLEAVED format: S32_LE subformat: STD channels: 6 rate: 48000 (48000/1) period_size: 1360 buffer_size: 2720
答案1
这个问题完全是由我很久以前对 PulseAudio 所做的更改引起的。我添加了选项(默认为enable-remixing = no
),以防止 Pulse 从立体声音乐中制作环绕混音。无论如何,我最终让音乐播放器使用 ALSA 将确切的音乐格式发送到我的接收器,因此此设置是多余的。/etc/pulse/daemon.conf
yes
当设置为no
脉冲时,会删除任何无法匹配的通道,因此 Hidden Folks 音频中的一些异常导致所有输出被删除。