52 sound
我的电脑旁边有一个扬声器,我主要用作耳机放大器。有时我需要将它用作扬声器。是否可以将音频输出从立体声快速更改为单声道,无论是系统范围内的还是作为媒体播放器的插件?
dai*_*ib8 81
通过运行找到您的音频接收器的名称
pacmd list-sinks | grep name:
Run Code Online (Sandbox Code Playgroud)
然后运行此命令(注意从上一个命令的结果中删除尖括号):
pacmd load-module module-remap-sink sink_name=mono master=NAME_OF_AUDIO_SINK_GIVEN_BY_PREVIOUS_COMMAND channels=2 channel_map=mono,mono
Run Code Online (Sandbox Code Playgroud)
或添加
load-module module-remap-sink sink_name=mono master=NAME_OF_AUDIO_SINK_GIVEN_BY_PREVIOUS_COMMAND channels=2 channel_map=mono,mono
Run Code Online (Sandbox Code Playgroud)
以/etc/pulse/default.pa
有它在启动时运行。
然后在Sound Preferences 中选择“Mono”作为输出,但请记住将音量减半,因为两个通道混合为一个,否则会产生失真。要测试,请运行:
speaker-test -c 2 -t sine
Run Code Online (Sandbox Code Playgroud)
单个命令中的相同内容:
pacmd load-module module-remap-sink sink_name=mono master=$(pacmd list-sinks | grep -m 1 -oP 'name:\s<\K.*(?=>)') channels=2 channel_map=mono,mono
Run Code Online (Sandbox Code Playgroud)
要删除单声道,只需使用:
pacmd unload-module module-remap-sink
Run Code Online (Sandbox Code Playgroud)
小智 16
我已将答案 1 转换为 perl 脚本,因此我不需要记住这 2 个命令:
#!/usr/bin/perl
use strict;
my @choices = ();
my $i = 0;
for (`pacmd list-sinks`) {
if( /name:.*<(.+)>/) {
$choices[$i++] = $1;
print "$i:\t$1\n";
}
}
my $choice = $choices[<>-1] or die "invalid choice";
exec (qw(pacmd load-module module-remap-sink sink_name=mono),
"master=$choice",
qw(channels=2 channel_map=mono,mono));
Run Code Online (Sandbox Code Playgroud)
(我会注释那个答案,但我的业力太低了 ;-) )
归档时间: |
|
查看次数: |
53420 次 |
最近记录: |