Rya*_*yan 16 audio kde opensuse kde-4 opensuse-13.2
我最近从 Windows 切换到 OpenSUSE(使用 KDE),我仍在经历学习曲线。
我经常在使用带内置麦克风的耳机和使用显示器的内置扬声器和网络摄像头的麦克风之间切换。通过 KMix 使用 Phonon 菜单(下面的示例),我可以重新排列设备以将我想要使用的设备放在最上面,但我更愿意使用热键来完成,类似于在音频切换器应用程序确实在Windows上。当我这样做时,我还想将主通道也设置为新通道,以便我可以轻松调整音频。
有没有办法通过一些脚本让我(a)即时选择一个新的默认音频播放和录音设备,(b)同时还使用热键将主通道设置为相同的播放设备(c)或桌面上的其他快速方法?
use*_*.dz 10
大多数 GUI 套件使用相同的后端 PulseAudio。使用pactl
到写控制脚本。
NAME
pactl - Control a running PulseAudio sound server
DESCRIPTION
pactl can be used to issue control commands to the PulseAudio sound server.
pactl only exposes a subset of the available operations. For the full set use the pacmd(1).
Run Code Online (Sandbox Code Playgroud)
来源: man pactl
检查可用的输出接收器
$ pactl list short sinks
0 alsa_output.pci-0000_01_00.1.hdmi-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
1 alsa_output.pci-0000_00_1b.0.analog-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
Run Code Online (Sandbox Code Playgroud)检查可用的输入源
$ pactl list short sources
0 alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
1 alsa_output.pci-0000_00_1b.0.analog-stereo.monitor module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
2 alsa_input.pci-0000_00_1b.0.analog-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
Run Code Online (Sandbox Code Playgroud)检查默认值
$ pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 30
Server Protocol Version: 30
Is Local: yes
Client Index: 2
Tile Size: 65472
User Name: user
Host Name: userpc
Server Name: pulseaudio
Server Version: 6.0
Default Sample Specification: s16le 2ch 44100Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_00_1b.0.analog-stereo
Default Source: alsa_input.pci-0000_00_1b.0.analog-stereo
Run Code Online (Sandbox Code Playgroud)设置默认值
pactl set-default-source id-or-name
pactl set-default-sink id-or-name
Run Code Online (Sandbox Code Playgroud)
例子:
pactl set-default-source alsa_input.pci-0000_00_1b.0.analog-stereo
pactl set-default-sink alsa_output.pci-0000_00_1b.0.analog-stereo
Run Code Online (Sandbox Code Playgroud)
或者:
pactl set-default-source 2
pactl set-default-sink 1
Run Code Online (Sandbox Code Playgroud)笔记:
这只会影响新的流,您必须移动当前正在运行的流,因此请使用:
pacmd move-sink-input <stream-id> <sink-id/name>
Run Code Online (Sandbox Code Playgroud)
有些卡有多个可切换端口,可能你想要的不是默认的。
检查可用端口:
$pactl list sinks
Sink #1
State: RUNNING
Name: alsa_output.pci-0000_00_1b.0.analog-stereo
Description: Built-in Audio Analog Stereo
Driver: module-alsa-card.c
...
Ports:
analog-output-speaker: Speakers (priority: 10000, not available)
analog-output-headphones: Headphones (priority: 9000, available)
Active Port: analog-output-headphones
Formats:
pcm
...
Run Code Online (Sandbox Code Playgroud)
要设置它:
pactl set-sink-port <sink-id/name> <port-name>
Run Code Online (Sandbox Code Playgroud)
例子:
pactl set-sink-port 1 analog-output-headphones
Run Code Online (Sandbox Code Playgroud)更改主频道
按照本教程,您可以使用qdbus
以下方法设置主通道:
使用以下命令为您的每个设备查找主混音器。首先手动设置主通道为你要查看的通道,然后运行命令:
qdbus org.kde.kmix /Mixers org.kde.KMix.MixSet.currentMasterControl
Run Code Online (Sandbox Code Playgroud)使用该命令的结果和您希望控制的音频接收器,使用以下语法来更改您的主通道:
qdbus org.kde.kmix /Mixers org.kde.KMix.MixSet.setCurrentMaster "[insert Mixer]" "[insert sink]" 2>&1 > /dev/null
Run Code Online (Sandbox Code Playgroud)最后,将当前所有音频切换到一个新通道,将其设置为默认,并将其设置为主通道的脚本如下所示:
NAME
pactl - Control a running PulseAudio sound server
DESCRIPTION
pactl can be used to issue control commands to the PulseAudio sound server.
pactl only exposes a subset of the available operations. For the full set use the pacmd(1).
Run Code Online (Sandbox Code Playgroud) 归档时间: |
|
查看次数: |
16353 次 |
最近记录: |