我想在 OSX 上的多通道输出的指定通道上播放声音文件 Wav/Mp3。不幸的是,afplay
它不允许我在 osx 上指定其输出,就像aplay
在 linux 上一样。
正在寻找 shell 命令或 nodejs 解决方案,...
答案1
我尝试了几种方法后发现的一个解决方案是使用 sox。
#!/bin/bash
## soundcard info on osx
system_profiler SPAudioDataType
## example out on the first two channels of the 16 outs.
./sox test.wav -t coreaudio "Dante Virtual Soundcard" remix 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Sox 可以直接访问 CoreAudio,并允许指定声卡,而 remix 模块允许指定输出。但是,我在使用这种方法时遇到了一个错误,播放时音频会随机切换频道。
为了解决这个问题,并有一个更好的设计,我创建了虚拟声卡虚拟声卡环回工具因此不需要重新混音。