libsox:从默认麦克风录制

libsox: record from default microphone

我需要打开默认的音频捕捉设备并开始录音。 libsox 好像是 a nice cross-platform solution。使用二进制前端,我可以 rec test.wav 并激活默认麦克风。

但是浏览时 documentation, no similar functionality exists. This thread 讨论了与我的问题完全相同的主题,但似乎没有找到解决方案。

在哪里可以找到使用 libsox 从默认音频设备录制的示例?

您需要先使用alsa 进行录制,然后使用libsox 获得正确的格式。 libsox 不用于录制。参见示例:https://gist.github.com/albanpeignier/104902

您可以使用 libsox 进行录制。只需将输入文件设置为“默认”并将文件类型设置为音频驱动程序(例如 mac 上的 coreaudio,linux 上的 alsa 或 oss)

const char* audio_driver = "alsa";
sox_format_t* input = sox_open_read("default", NULL, NULL, audio_driver);

查看一些 examples 以了解有关如何构建其余代码的更多信息。