更改默认声音设备
升级到Ubuntu 13.10后,我的声音停止了工作。 我最终发现Ubuntu选择了HDMI声音设备而不是我的模拟扬声器。 我切换到正确的设备,一切正常,直到我重新启动。 我现在必须在每次启动Ubuntu时选择正确的设备。 如何将扬声器设置为默认设备?
编辑:由于我升级到Ubuntu 14.04 Ubuntu现在默认选择板载声音设备,所以我不再有这个问题。
跑:
$ pacmd list-cards
显示卡片的索引。 例如,我的pci声卡位于索引2.模拟输出的声音配置文件(再次作为示例)称为“输出:模拟立体声”。
然后:
$ pacmd set-card-profile 2 output:analog-stereo
将此设置为输出(试一试)。 要使其永久化,请编辑/etc/pulse/default.pa并添加:
set-card-profile 2 output:analog-stereo set-default-sink 2
重新启动pulseaudio或重新启动以检查持久性。
如果您还想设置麦克风(输入)默认值
set-card-profile 2 output:analog-stereo+input:analog-stereo set-default-sink 2
在Dash上,搜索多媒体系统选择器 。
打开它,在“ Audio
选项卡中,您可以选择默认的音频输入和输出设备。
默认情况下,此应用程序安装在Ubuntu安装中。 但是,如果你不能以某种方式安装
sudo apt-get install gnome-media
如果未在Dash中显示,请运行:
gksudo gedit /usr/share/applications/gstreamer-properties.desktop
在生成的文本文件中,转到以NoDisplay=
开头的行。 将NoDisplay=true
更改为NoDisplay=false
对于Ubuntu 16.04来说,最简单的解决方案是创建一个脚本,该脚本在屏幕解锁时监听,而不是在系统唤醒时监听的脚本,因为在系统唤醒的瞬间似乎并非所有服务都可用。 我无法通过唤醒脚本让pulseaudio切换到HDMI声音但是使用解锁监听脚本成功修复了它:
dbus-monitor --session "type='signal',interface='com.ubuntu.Upstart0_6'" | \ ( while true; do read X if echo $X | grep "desktop-lock" &> /dev/null; then echo "screen locked" elif echo $X | grep "desktop-unlock" &> /dev/null; then /usr/bin/pacmd set-card-profile 0 output:hdmi-surround+input:analog-stereo fi done )
您可以通过使用slots=
在ALSA中订购声卡来设置默认值。
通过使用以下命令检查lsmod
的输出,找到要使用的声卡的驱动程序模块名称: lsmod | grep -P '^snd[_]?[Az]*'
lsmod | grep -P '^snd[_]?[Az]*'
或只是lsmod
。 例如我的Creative X-FI Xtreme Gamer是snd_ctxfi
,我的板载是snd_hda_intel
,我的USB网络摄像头是snd_usb_audio
。
现在在文本编辑器或nano中打开相应的ALSA配置文件,例如sudo nano /etc/modprobe.d/alsa-base.conf
并在底部按优先顺序添加以下内容(第一个声明变为默认值):
options snd slots=snd_ctxfi,snd_hda_audio,snd_usb_audio
然后只保存CTRL+o+enter
& CTRL+x
。 重启,你可能会被排序。
如果您使用的是更新的3.x gnome,请显示您的启动器(默认Windows键)类型设置 – >声音。 选择其他默认值,关闭窗口。
首先,感谢user224082提供的解决方案,帮助我发现了我需要的设备。
要找到您需要的ALSA设备:
- 使用多媒体系统选择器,选择ALSA –用于插件的 高级Linux声音架构
- 测试设备下的不同选项,直到选择所需的扬声器
- 记下“管道”框中的
device=
值。 我的是"hw:0,4"
一旦知道了所需的设备,请将其设置为默认设备:
通过输入sudo nano /etc/pulse/default.pa
来编辑default.pa
在文件的最底部,添加:
load-module module-alsa-sink sink_name=spkr device=hw:0,4 set-default-sink spkr
用您的设备替换device=
value。