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

问题描述:

我有与Linux和PC连接3个USB音频接口的PC。每个音频接口都有一个立体声输出。 我有6个扬声器连接2到每个立体声输出。如何将任何音频文件播放到任何连接的USB音频卡?

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

我已经看着mpg123,但没有发现在男人什么都没有我想要的。

我希望有一个球员未来PARAMS:

./example_player --audio_device=1 --channel=left glass.mp3 

如果没有任何球员我需要请咨询任何Python库,便于让我的“example_player”。

谢谢!

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

此命令:

$ mplayer -af channels=2:2:0:0:1:0 song1.mp3 

将播放声音在左扬声器。 2(输出通道的计数):2(移动信号的计数):0:0(左通道到左通道的路径)1:0(右通道到左通道的路径)

要将声音传送到任何audiocard你应该使用这个命令:

$ mplayer -ao alsa:device=hw=0.0 song2.mp3 

要查看所有可用的ALSA设备使用这个命令:

$ aplay -l 

在这里,你会看到所有可用的ALSA设备。 'hw'参数中的第一个数字是卡号,第二个数字是设备号。

当然,你可以结合这些都命令:

$ mplayer -af channels=2:2:0:0:1:0 -ao alsa:device=hw=0.0 song3.mp3 

而且我发现使用的PulseAudio 更加有用解决方案!

使用THIC命令列出所有可用的audiodevices用的PulseAudio:

$ pactl list cards short 

例如,你需要把声音输出到0卡(所有卡的数字从0开始):

$ mplayer -ao --pulse::0 file.mp3 

而且这也适用。