我有一台 Intel ALC892 和一台 Nvidia GT 520m,通过 HDMI 连接到扬声器。
在 lspci 上,我看到
00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 02)
Subsystem: ZOTAC International (MCO) Ltd. Device a218
Flags: bus master, fast devsel, latency 0, IRQ 47
Memory at db400000 (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
02:00.1 Audio device: NVIDIA Corporation HDMI Audio stub (rev a1)
Subsystem: ZOTAC International (MCO) Ltd. Device 2180
Flags: bus master, fast devsel, latency 0, IRQ 18
Memory at db080000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [78] Express Endpoint, MSI 00
Kernel driver in use: snd_hda_intel
我的 alsamixer 看起来像
我启用了 pulseaudio 配置文件,使其具有 6 个通道。我的声音设置如下
当我使用测试对话框时,只有前左和前右有声音。如果我在 5.1 视频上使用 XBMC 中的 alsa,则没有声音。如果我使用 pulseaudio,只有前右和前左有声音。我几乎听不到任何语音,因为我猜它被映射到了前中心。有什么线索吗?
更新:据我在 Ubuntu 的 IRC 上听到的,我无法通过 HDMI 播放 5.1,我最好的办法是使用 A52 通过 S/PDIF 实时编码 AC3,但我无法编译 alsa-plugins... 它在构建 oss 时出现错误。还有其他意见吗?
答案1
我通过更改 /etc/pulse/daemon.conf 中的几行解决了这个问题首先,打开文件进行编辑:
sudo gedit /etc/pulse/daemon.conf
然后确保以下行取消注释并设置为 6
default-sample-channels = 6
取消注释并将以下行编辑为 yes
enable-lfe-remixing = yes
这在 12.04 版中启用了我的英特尔声卡的 5.1 音频
答案2
虽然我没有 5.1 音频,但我注意到您的 alsamixer 屏幕显示了您的 Intel ALC892 音频的设置,而您的第二张屏幕截图正在尝试通过 HDMI 端口 (Nvidia GT 520m) 配置声音。为了将 alsamixer 中的控件切换到您的 NVidia HDMI 音频,您必须按 F6(正如 alsamixer 右上角所写的)。
如果 alsamixer 设置一切正常,但你仍然听不到任何声音,我会尝试安装帕曼包裹-脉冲音频管理器。安装后,打开控制台并输入 paman,因为该包未通过菜单项安装。启动程序后,您将看到 5 个选项卡 -服务器信息,设备,客户,模块,样本缓存。前往设备选项卡。您将看到接收器和源的列表。顺便说一下,您应该有 2 个接收器,一个用于模拟 Intel 输出,一个用于 NVidia HDMI。此时,您应该启动使用 Pulse Audio 作为输出并配置为输出 5.1 音量的音频/视频应用程序。播放具有环绕声的文件,您会注意到新条目出现在您的一个接收器下方,形式为#某个数字(例如。#6)。如果您的音频/视频应用程序中的所有内容均已正确配置,则条目将显示在您的 HDMI 接收器条目下方。单击该条目并按属性按钮。将出现一个新面板。您要做的就是确保音量未设置为 0%。使用滑块手动调整音量或按重置键将其设置为 100%。还要单击 HDMI 接收器本身的属性,并检查音量是否也设置为 100%。
我不知道这是否会对你有帮助,但值得一试。两天前,我在尝试解决 Skype 测试声音静音的问题时发现了 Pulse Audio Manager - 测试通话有声音,而测试声音完全没有声音。
答案3
我最终通过以下方法解决了这个问题:
- 在 PulseAudio Manager(
paman
包)中,在输出设备选项卡上,有一个压缩方法列表,例如 dts 等。我已将它们全部启用。 - 我使用 S/PDIF 将音频连接到家庭影院。
- 在 XBMC 中,我将输出设置为光学,将输出设备设置为 PulseAudio,并将直通设备也设置为 PulseAudio
在播放 5.1 电影时,它神奇地开始以 5.1 播放。一次只有一个进程可以播放声音,但由于我只将它用于 XBMC,所以情况还不算太糟。
答案4
这是对我有用的解决方案,它也解决了我的麦克风问题。
sudo apt-get remove --purge alsa-base
sudo apt-get remove --purge pulseaudio
sudo apt-get install alsa-base
sudo apt-get install pulseaudio
sudo apt-get install gnome-alsamixer
sudo apt-get install indicator-sound
sudo alsa force-reload
此后重新启动计算机。您将获得 5.1 环绕声。要测试它,请输入
sudo speaker-test -c6
哦,重启后如果你听不到环绕声,你可能需要输入
alsamixer
并将那里的设置从 2 通道 ( ch2 ) 更改为 6 通道 ( ch6 )。您甚至需要编辑 daemon.conf 文件以在那里进行设置。
gksu gedit /etc/pulse/daemon.conf
更改 default-sample-channels = 2 的设置
至:default-sample-channels = 6 (这可以用 ; 或 # 注释掉,取消注释)
编辑该文件并将 alsamixer 设置为 6 个通道后,您可能需要再次重新启动。
更新:请记住,在第二次重启之前,请确保在 alsamixer 中选择了正确的声卡。您可以先在 alsamixer 中执行此操作,然后在第二次重启后即可使用微型指示器扬声器。
编辑更新 2:我重读了您的评论,刚刚才意识到您说的是 HDMI 发送 5.1。抱歉。我应该仔细阅读一下。