如何在 OS X 上的特定声卡输出上播放音频文件

如何在 OS X 上的特定声卡输出上播放音频文件

我想在 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 模块允许指定输出。但是,我在使用这种方法时遇到了一个错误,播放时音频会随机切换频道。

为了解决这个问题,并有一个更好的设计,我创建了虚拟声卡虚拟声卡环回工具因此不需要重新混音。

相关内容