如何在Xubuntu中切换由硬件键控制的“默认”声音设备?

Rut*_*uth 11 sound xubuntu shortcut-keys indicator-sound

在发现缺少 Gnome3 后,我在 12.04 Ubuntu 升级上安装了 xubuntu-desktop。我一直很高兴,但我发现了一个奇怪且令人沮丧的错误。我的笔记本电脑有两个声音“输出”——一个我从未使用过的 HDMI 输出插头,以及一个板载扬声器/耳机。出于某种原因,硬件键已映射到 HDMI 输出,即使我在 pavucontrol 中将其设置为“回退”,并且 notify-osd 仅显示 HDMI 输出中的更改(尽管面板指示器音量控制控制板载声音)。理想情况下,我希望硬件键和 notify-osd 都能查看板载声音,但如果我无法获得 notify-osd ,这是可以接受的损失。不过,不得不点击一堆东西来改变音量让我发疯。

谷歌搜索建议它/可能/是一个Pulseaudio/ALSA冲突,但硬件键似乎至少按照预期改变了HDMI的pavucontrol中指示的音量(我没有HDMI电缆来测试实际的声音输出)

Pet*_*rch 13

我在设置/设置编辑器(不是普通的设置管理器)中找到了线索

然后,在 下xfce4-mixer,有/active-card 具有以下值的设置:

PlaybackHighDefinitionAudioControllerDigitalStereoHDMIPulseAudioMixer

我选择了“活动卡”,然后点击“重置属性”按钮。这将设置变成:

PlaybackBuiltinAudioAnalogStereoPulseAudioMixer

(这些名字紧跟的名字输出设备pavucontrol 见截图

重新启动后,它起作用了。我的音量按钮现在会影响扬声器的音量。

(擦洗我之前的,现在已删除,关于播放/暂停不起作用的提示/评论。他们(仍然)在 Rhythmbox 中工作正常 - 这是/是一个无关的问题gmusicbrowser

这可能适合您,也可能不适合!:-)

编辑:出于某种原因,我的 xfce 配置文件已损坏,我已通过rm -rf ~/.config. 现在,仅仅几天后,重置它对我也不起作用,但设置/active-cardPlaybackBuiltinAudioAnalogStereoPulseAudioMixer确实如此。

编辑:如果上述方法不起作用,请尝试通过终端和 xfconf 进行设置,例如

    xfconf-query -c xfce4-mixer -p /active-card -s 'PlaybackBuiltinAudioAnalogStereoPulseAudioMixer'
Run Code Online (Sandbox Code Playgroud)


小智 6

对于那些没有的人来说/active-card,无论如何都不需要它,也不需要xfce4-mixer。声音通过 PulseAudio,因此“默认”设备由 PulseAudio 配置选择,并且xfce4-volumed只会更改“默认”输出音量。

但是,您可以为此使用 PulseAudios 配置工具,pacmd.

$ pacmd
Welcome to PulseAudio! Use "help" for usage information.
>>>
Run Code Online (Sandbox Code Playgroud)
  1. 首先列出您机器上的设备

    >>> list-sinks
    
    Run Code Online (Sandbox Code Playgroud)

    它将打印有关您设备的大量信息,并且可见它们都有一个索引

    2 sink(s) available.
      * index: 0
        name: <alsa_output.pci-0000_00_03.0.hdmi-stereo>
            ...
        index: 1
        name: <alsa_output.pci-0000_00_1b.0.analog-stereo>
            ...
    
    Run Code Online (Sandbox Code Playgroud)
  2. 您需要将首选设备设置为默认值。正如你所看到的(小星星,即*在 index:0 之前)我的 HDMI 是默认的,我想要模拟输出。

    >>> set-default-sink 1
    
    Run Code Online (Sandbox Code Playgroud)

您可能需要杀死xfce4-volumed并重新启动它,以在不重新启动系统的情况下达到预期效果:

    $pkill volumed
    $xfce4-volumed
Run Code Online (Sandbox Code Playgroud)

但基本上,就是这样