KDE 5 - 如何轻松地在音频输出之间切换?

KDE 5 - 如何轻松地在音频输出之间切换?

我目前安装了 KDE 5 Plasma,我非常喜欢它。

但是,无法像在 Unity 中那样轻松地在 One Soundcard(SPDIF 和模拟)的音频输出之间切换。

有没有办法不进入此处的菜单即可完成此操作:

在此处输入图片描述

我需要为每个设置一个设置

  1. 数字立体声 + 模拟立体声输入
  2. 模拟音频立体声 + 模拟立体声输入

我想在这里改变它们:

在此处输入图片描述

是否可以?

答案1

谢谢这个答案我终于找到了解决方案,请参阅以下说明

在混合中始终显示 HDMI 输出 我们将创建一个新的配置文件,将“模拟音频”和“HDMI 音频”两个配置文件链接起来。

据我了解,该文件 /usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf列出了 Alsa 和 Pulseaudio 之间的所有映射配置文件。

1.
Analog profile查找与您的和定义 相关的映射HDMI profile。(描述:应该匹配设备配置文件显示在音量Kde 设置模块 )

对我来说,以下是:

[Mapping analog-stereo]
device-strings = front:%f
channel-map = left,right
paths-output = analog-output analog-output-lineout analog-output-speaker analog-output-headphones analog-output-headphones-2
paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headphone-mic analog-input-headset-mic
priority = 10

[Mapping hdmi-stereo-extra1]
description = Digital Stereo (HDMI 2)
device-strings = hdmi:%f,1
paths-output = hdmi-output-1
channel-map = left,right
priority = 2
direction = output

2.
基于上述映射定义,我创建了以下新的配置文件,将上述两个配置文件分组:

[Profile output:analog-stereo+output:hdmi-stereo-extra1]
description = All
output-mappings = analog-stereo hdmi-stereo-extra1
input-mappings = analog-stereo

3.
使用以下命令重新启动脉冲音频:

pulseaudio --kill; sleep 1; pulseaudio --start

4.
转到 KDE phonon 设置 > 音频硬件设置并选择新的配置文件。 混合器中有 2 个配置文件

现在您应该可以在混合中看到两个配置文件,因此您可以轻松切换:

HDMI 现在始终显示在混音器中
我建议使用这个等离子体混合器:https://store.kde.org/p/1100894/

(额外步骤)强制启用两个输出

如果您不介意同时拥有计算机扬声器和电视输出音频(那么基本上您不必切换音频输出)。

您可以选择以下设置,然后您将在混音器中获得一个新条目

在此处输入图片描述

答案2

由于 KDE 5 似乎只是 PulseAudio 的前端,因此你可以使用以下命令直接访问 PulseAudio帕克特尔命令。

你需要进行一些实验才能找到适合你的设置,但我推荐优秀的 Arch Linux wiki脉冲音频, 这脉冲音频配置例子

确定正确的命令后,创建一个小型 shell 脚本并为这些脚本创建条目~/.local/share/applications/(假设 KDE 5 使用自由桌面规范来创建应用程序启动器——我不太确定,因为我从未使用过 KDE)。

答案3

我到处搜索...我没有找到...我用python编写了一个脚本,使用它)

import os
speakers = []
st = 0
au = os.popen("pacmd list-sinks")
audiotm = au.read()
audio = list(audiotm.split())
indices = [i for i, x in enumerate(audio) if x == "name:"]
for num in range(len(indices)):
    speakers.append(audio[indices[num]+1])
for num in range(len(speakers)):
    speakers[num] = speakers[num][1:len(speakers[num])-1]
dir = os.path.abspath(__file__)
dir = dir[:-5]
try: f = open(dir + "lststate.txt","r");st = int(f.read()) ;f.close();
except:f = open(dir + "lststate.txt","w");f.write(str(st)); f.close();
if st == len(speakers): st = 0;
OUT = speakers[st]
st += 1
f = open(dir + "lststate.txt","w");f.write(str(st)); f.close();
z = os.popen("pactl list short sink-inputs")
OUTID = z.read().split()
x = os.popen("pacmd set-default-sink " + OUT)
for num in range(0,len(OUTID),7):
    y = os.popen("pactl move-sink-input " + OUTID[num] + " " + OUT)
exit()

答案4

我认为现在有一种更简单的方法来实现这一点。

  • 打开“音频音量设置 - 等离子”
  • 点击“音量”图标
  • 点击右上角的“高级”选项卡
  • 将“个人资料:”更改为“全部”

音频音量设置,配置文件:全部

相关内容