如何将任何音频文件播放到任何连接的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
而且这也适用。