问题描述
我当前正在运行Ubuntu 9.04。我想交换立体声通道,但是在“音量控制首选项”中找不到该选项。
有没有不接触任何配置文件的方法? (不允许以root用户身份登录此计算机)
最佳方法
PulseAudio方式(在Ubuntu 10.04上测试,应在9.04上运行):
将/etc/pulse/default.pa
复制到~/.pulse/default.pa
,并在末尾添加以下两行:
load-module module-remap-sink sink_name=reverse-stereo master=0 channels=2 master_channel_map=front-right,front-left channel_map=front-left,front-right
set-default-sink reverse-stereo
通过在命令行运行pactl exit
重新启动PulseAudio。
如果您不想默认使用反向立体声,则省略第二行。您可以在“声音首选项”的“ “Output””选项卡中切换立体声输出与反向立体声。如果您确实具有root用户并希望在整个系统范围内运行,则只需将这些行添加到/etc/pulse/default.pa
即可,而无需进行user-specific的配置。
此配置有一些基本假设:要反转通道的卡是卡0;您只需要处理2个频道;并将这些通道称为front-left
和front-right
。
如果您的视频卡的HDMI输出断开,则主板上的模拟输出很可能是卡1,而不是0;否则,您的主板将是1。所以主人= 1。 (此模拟通道上可能有前面板耳机)
有关更多信息,请参见the PulseAudio documentation for module-remap-sink。
次佳方法
与上面的Brian基本相同的方法,但不涉及任何配置文件:
pactl load-module module-remap-sink \
sink_name=reverse-stereo \
master=0 \
channels=2 \
master_channel_map=front-right,front-left \
channel_map=front-left,front-right
这将动态创建一个带有反向通道的附加PA接收器。 (在pulseaudio重新启动后它将消失)。要切换到它:
pactl set-default-sink reverse-stereo
—或者,您也可以通过声音控制面板手动切换:
当然,可以来回切换,例如在实验时。
如果您想快速尝试一些事情,而不是永久保存设置,则这种方法更好。
第三种方法
如果您使用的是ALSA,请将其添加到~/.asoundrc
文件中:
pcm.swapped {
type route
slave.pcm "cards.pcm.default"
ttable.0.1 1
ttable.1.0 1
}
pcm.default pcm.swapped
通过ALSA FAQ