使用控制台命令选择声卡

使用控制台命令选择声卡

是否可以在命令行中使用 cinnamon-settings 应用程序更改默认声卡?默认声卡似乎未在 dconf 中设置。
我正在尝试编写一个在 HDMI 和模拟声音输出之间切换的脚本。

答案1

我认为你正在寻找

pacmd set-default-sink <sink_name|index>

概述如下 https://askubuntu.com/questions/690711/change-sound-output-from-command-linehttps://askubuntu.com/questions/14077/how-can-i-change-the-default-audio-device-from-command-line

您可以使用以下方式获取可用索引

pacmd list-sinks|grep index|awk '{print $NF}'

如果您想控制音量,您可以在命令行中使用 alsamixer (ncurses) 或 amixer 来进行。

如果你要使用 pulseaudio 设置,那么

cp -i /etc/pulse/default.pa ~/.config/pulse/

将为您提供更安全的编辑副本

pulseaudio -k  #should restart pulseaudio after you change settings.

对于您的脚本,您可能需要检查可用的音频速率是否与您的接收设备兼容:

grep rates $(grep -ci hdmi /proc/asound/card*/codec#0|grep -v :0|sed 's,:.$,,'|head -n1)

并根据每张卡所附的配置文件

pactl --server "unix:/run/user/$(id -u)/pulse/native"  set-card-profile 1 output:analog-stereo

pactl --server "unix:/run/user/$(id -u)/pulse/native"  set-card-profile 0 output:hdmi-stereo

可能有助于创建有用的变量。看起来有人已经尝试做你正在做的事情

但是其中一些变量要么是 archlinux 特有的,要么是过时的。(尽管它们触发脚本的路径可能会有所帮助。)

相关内容