当前位置: 首页>>技术教程>>正文


如何在Ubuntu中交换立体声声道?

, ,

问题描述

我当前正在运行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-leftfront-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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/10950.html,未经允许,请勿转载。