Linux 如何将任何音频文件播放到任何连接的usb声卡?

Linux 如何将任何音频文件播放到任何连接的usb声卡?,linux,audio,audio-player,Linux,Audio,Audio Player,我有一台装有linux的电脑,并连接了3个usb音频接口。每个音频接口都有一个立体声输出。 我有6个扬声器,每个立体声输出由2个扬声器连接 我的目标是能够在任何频道的任何卡上播放任何声音。 例如,我需要在左声道的第一张声卡上播放敲打玻璃的声音,在右声道的第二张声卡上播放一些自然的声音 我查看了mpg123,但在这个人身上没有找到我想要的东西 我希望有一个具有下一个参数的玩家: ./example_player --audio_device=1 --channel=left glass.mp3

我有一台装有linux的电脑,并连接了3个usb音频接口。每个音频接口都有一个立体声输出。 我有6个扬声器,每个立体声输出由2个扬声器连接

我的目标是能够在任何频道的任何卡上播放任何声音。 例如,我需要在左声道的第一张声卡上播放敲打玻璃的声音,在右声道的第二张声卡上播放一些自然的声音

我查看了mpg123,但在这个人身上没有找到我想要的东西

我希望有一个具有下一个参数的玩家:

./example_player --audio_device=1 --channel=left glass.mp3
如果没有任何玩家需要我的帮助,请建议任何python库轻松制作我的“示例_播放器”

谢谢大家!

我找到了答案。 我更喜欢mplayer。它对我的目标有足够的功能

此命令:

$ mplayer -af channels=2:2:0:0:1:0 song1.mp3
$ mplayer -ao alsa:device=hw=0.0 song2.mp3
$ aplay -l
将在左侧扬声器上播放声音。 2(输出通道计数):2(移动信号计数):0:0(左通道路由到左通道)1:0(右通道路由到左通道)

要将声音传送到任何声卡,应使用以下命令:

$ mplayer -af channels=2:2:0:0:1:0 song1.mp3
$ mplayer -ao alsa:device=hw=0.0 song2.mp3
$ aplay -l
要查看所有可用的alsa设备,请使用以下命令:

$ mplayer -af channels=2:2:0:0:1:0 song1.mp3
$ mplayer -ao alsa:device=hw=0.0 song2.mp3
$ aplay -l
在这里,您将看到所有可用的alsa设备。“hw”参数中的第一个数字是卡号,第二个数字是设备号

当然,您可以将这两个命令结合使用:

$ mplayer -af channels=2:2:0:0:1:0 -ao alsa:device=hw=0.0 song3.mp3
我还发现使用PulseAudio的解决方案更有用

使用thic命令列出PulseAudio的所有可用音频设备:

$ pactl list cards short
例如,您需要将声音输出到0卡(所有数字卡均以0开头):

这也很有效