标签: pulseaudio

从 Shell 更改 PulseAudio 输入/输出?

除了扬声器和普通麦克风之外,我还有一套不错的无线耳机,我不时使用。

我想编写一个脚本来在一个输入和输出源和另一个之间切换,本质上是在我的耳机和我的扬声器+麦克风之间切换。

我想在这之间改变:

...和这个:

有没有办法让我编写两个输入和输出之间的传输脚本?基本上我正在寻找这样的东西:

CURRENT_INPUT="$(get-current-input-name)"
CURRENT_OUTPUT="$(get-current-output-name)"

if [ "$CURRENT_INPUT" == "Vengeance 2000" ]; then
    set-current-input "HD Pro Webcam C920"
else 
    set-current-input "Vengeance 2000"
fi

if ["$CURRENT_OUTPUT" == "Vengeance 2000" ]; then
    set-current-output "Built-in Audio"
else
    set-current-output "Vengeance 2000"
fi
Run Code Online (Sandbox Code Playgroud)

有没有办法编写这个脚本?

alsa audio pulseaudio

51
推荐指数
4
解决办法
8万
查看次数

如何使用 shell 在不同的音频输出硬件之间切换?

我将笔记本电脑与带扬声器的外接显示器一起使用。当显示器通过 HDMI 连接时,我可以在普通笔记本电脑音频输出和显示器输出之间切换(使用 GUI:声音设置 --> 硬件)。

我重复这个过程很多次,我开始怀疑我是否可以自动化它,或者无论如何,使用 shell 以更快的方式执行它。

我的发行版是带有 gnome 3 的 Ubuntu 12.04。

编辑:

我尝试使用 pacmd,但 list-sinks 只给了我当前使用的设备:

pacmd list-sinks | grep name:
name: <alsa_output.pci-0000_00_1b.0.hdmi-stereo>
Run Code Online (Sandbox Code Playgroud)

从 GUI 切换后:

pacmd list-sinks | grep name:
name: <alsa_output.pci-0000_00_1b.0.analog-stereo>
Run Code Online (Sandbox Code Playgroud)

如果我尝试改变它,我会得到:

pacmd set-default-sink alsa_output.pci-0000_00_1b.0.hdmi-stereo
Welcome to PulseAudio! Use "help" for usage information.
Sink alsa_output.pci-0000_00_1b.0.hdmi-stereo does not exist.
Run Code Online (Sandbox Code Playgroud)

shell ubuntu audio pulseaudio

44
推荐指数
2
解决办法
8万
查看次数

根据输入通道数自动切换 PulseAudio 配置文件

我正在通过 HDMI 将音频传输到我的接收器,该接收器连接了完整的 7.1 设置。然而,我听的大多数东西的声道要少得多——有些是单声道,大多数是立体声,还有一点是 5.1。当接收器输入正确数量的通道时,它具有各种 DSP 效果,效果相当好(例如,分离出一个中央通道、将基座发送到低音炮、自动检测杜比矩阵环绕声等)。如果您使用一堆静音频道向它发送完整的 7.1 信号,这将停止工作。

PulseAudio 中的输出通道数量由分配给卡的配置文件配置,每个卡/接收器。您可以更改与分配的配置文件pacmdpactl以及各种GUI程序。

如何将其设置为根据输入流中的通道使​​用情况自动更改配置文件?例如,如果输入流仅使用左前和右前,则切换到立体声配置文件。如果他们同时使用左后和右后,请切换到四声道等。

audio pulseaudio hdmi

42
推荐指数
1
解决办法
2865
查看次数

从命令行读出pulseaudio音量?(我想要:“pactl GET-sink-volume”)

我想读出我可以设置的音量级别

pactl set-sink-volume $SINK $VOLUME
Run Code Online (Sandbox Code Playgroud)

有没有简单的方法来做到这一点?像假设一样简单

pactl get-sink-volume $SINK
Run Code Online (Sandbox Code Playgroud)

?

(我想做什么?我使用 pactl 来设置音量,它让我将音量设置为高于 100%,这是一个坏主意(音质下降),所以我正在考虑编写一个小脚本不要超过 100%。读出它。超过某个阈值?设置为 100%。低于?加 1%。如果有另一种方法可以做到这一点,太好了,告诉我!最干净的解决方案可能会告诉脉冲停止100%。但最初的问题仍然存在,一定有办法..)

如果这有什么不同,我在 Debian 上。

截至 2021 年初,似乎正在进行在 pactl 中实现此功能的工作。感谢 Klaas van Schelven 指出这一点。

command-line pulseaudio

39
推荐指数
7
解决办法
5万
查看次数

Jack vs Pulseaudio——它如何更快?

我看到一堆声称 Jack 比 Pulse 更快并且延迟更短的说法。怎么会这样?为什么 Pulse 称自己为轻量级,而 Jack 的人称其为胖子?谁能将这两个守护进程的内部结构分解给外行?

jack pulseaudio

36
推荐指数
3
解决办法
3万
查看次数

管道/混合线路输入到 PulseAudio 中的输出

我用一个 USB 耳机在两台电脑上工作。我想通过将非 Linux 计算机的输出通过管道连接到 Linux 计算机的线路输入(蓝色音频插孔)并使用 PulseAudio 将信号混合到 Linux 计算机的耳机输出来收听两者。

音频硬件图

pavucontrol 显示了一个“内置音频模拟立体声”输入设备,它允许我选择“线路输入”(选定)、“前置麦克风”、“后置麦克风”等端口。我可以看到设备的音量计对非 Linux 机器上的音频播放做出反应。

内置音频模拟立体声

如何让 PulseAudio 将该音频信号播放到我选择的输出设备中?

linux audio pulseaudio

32
推荐指数
1
解决办法
3万
查看次数

PulseAudio 如何启动?

PulseAudio 始终在我的系统上运行,如果它崩溃或我杀死它,它总是会立即重新启动。但是,我从未真正启动过PulseAudio。

我已经检查过/etc/init.d/并且/etc/X11/Xsession.d/我已经检查过systemctl list-units -aPulseAudio 无处可寻。

为什么 PulseAudio 似乎神奇地自行启动而我从未运行过它,它如何在它死后立即重新启动?

我正在使用带有 xinit 和 i3 窗口管理器的 Debian 8 (jessie) 和 PulseAudio 5。

linux debian pulseaudio

31
推荐指数
3
解决办法
5万
查看次数

找到“拥有”正在运行的守护进程的 systemd 单元

为了调试 JACK/Pulseaudio 问题,我想了解 systemd(在 Fedora 上)何时以及为何启动pulseaudio 守护程序。

使用:

$ ps -o'pid,ppid,args' `pgrep pulse`
Run Code Online (Sandbox Code Playgroud)

我看到 systemd 正在启动pulseaudio守护进程(pid=1)

 PID  PPID COMMAND
2738     1 /usr/bin/pulseaudio --start
Run Code Online (Sandbox Code Playgroud)

但是,我无法在我的系统上找到任何包含pulseaudio或什至仅包含pulse.

我的具体问题是:

A) 有没有办法确定导致创建特定进程的 systemd 单元(在我的示例输出中,进程 2738,PA 守护程序)?

B) 是否有其他方法可以找出 systemd 的哪个单元依赖链或其他设置导致调用/usr/bin/pulseaudio --start

fedora systemd pulseaudio

31
推荐指数
2
解决办法
2万
查看次数

如何通过 VNC 转发声音?

我使用 TightVNC 和 Remmina 远程桌面通过 VNC 将我的 Raspberry Pi 连接到我的 Ubuntu 笔记本电脑。它在大多数情况下都很好用,除了没有声音的事实。

我到处搜索,通过 VNC 查找转发声音,通过 SSH 隧道通过 VNC 查找声音,通过 PulseAudio Network Transparency 查找声音转发。我找不到怎么做。

有谁知道如何通过 VNC 获得声音?

vnc audio ssh-tunneling pulseaudio remmina

28
推荐指数
3
解决办法
10万
查看次数

在 Fedora 上通过蓝牙配对 Bose QC 35

我正在使用 Gnome Shell 运行 Fedora 24。我尝试通过蓝牙配对我的新 Bose QuietComfort 35。

我开始使用 Gnome 界面。不幸的是,这种联系似乎不成立。它显示为不断连接/断开连接:

https://youtu.be/eUZ9D9rGUZY

我的下一步是使用命令行执行一些检查。首先,我检查了蓝牙服务是否正在运行:

$ sudo systemctl status bluetooth
? bluetooth.service - Bluetooth service
   Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
   Active: active (running) since dim. 2016-06-26 11:19:24 CEST; 14min ago
     Docs: man:bluetoothd(8)
 Main PID: 932 (bluetoothd)
   Status: "Running"
    Tasks: 1 (limit: 512)
   Memory: 2.1M
      CPU: 222ms
   CGroup: /system.slice/bluetooth.service
           ??932 /usr/libexec/bluetooth/bluetoothd

juin 26 11:19:24 leonard systemd[1]: Starting Bluetooth service...
juin 26 11:19:24 leonard bluetoothd[932]: Bluetooth daemon 5.40
juin 26 11:19:24 …
Run Code Online (Sandbox Code Playgroud)

fedora bluetooth pulseaudio bluez

28
推荐指数
1
解决办法
3万
查看次数