我已经使用 VAC 创建了 3 个虚拟声音设备,现在我想启动 3 个 sox 实例并让每个实例在播放 wav 文件时使用单独的声音设备进行输出。
命令sox.exe file.wav -d
将文件播放到默认声音设备。如何强制它使用不同的声音设备?
答案1
尝试
sox d:\AUDIO\02.wav -t waveaudio 0
答案2
复制自这里
waveaudio(可选)
MS-Windows 原生音频设备驱动程序。示例:
sox infile −t waveaudio sox infile −t waveaudio default sox infile −t waveaudio 1 sox infile −t waveaudio "High Definition Audio Device ("
如果省略设备名称、-1 或默认,则您将获得“Microsoft Wave Mapper”设备。Wave Mapper 表示“使用系统默认音频设备”。您可以通过操作系统控制面板控制“默认”的含义。
如果给定的设备名称是其他数字,则可以通过索引获取该音频设备;因此,使用设备名称 0 进行录音将获得第一个输入设备(可能是麦克风),1 将获得第二个输入设备(可能是线路输入)等等。使用 0 进行播放将获得第一个输出设备(通常是唯一的音频设备)。
如果给出的设备名称不是数字,SoX 会尝试将其(最多 31 个字符)与可用设备的名称进行匹配。
另请参阅play(1)、rec(1)和sox(1) −d。
我不完全确定在哪里可以查看设备列表,但我怀疑在 Windows 10 中它是下面的列表Settings > Sound > Manage Sound Devices
。
设备“立体声混音”似乎对我有用,并且它列在屏幕上。这会将“立体声混音”输入记录到文件中:
sox -t waveaudio "Stereo Mix" out.wav
另请注意,您可以运行它sox --help
,它会列出可用的音频驱动程序。对我来说,这只是waveaudio
,但也许还有其他。我不知道。