首页 > 解决方案 > 如何使用 libsox 库将我的音频文件发送到标准输出?

问题描述

我正在使用 SoX 的开发人员库 libsox 在我的树莓上设置一个音频程序。例如,我需要让它将我的输入 mp3 文件播放到我的 stdout 输出,这样我就可以通过连接到树莓派插孔端口的听筒听到这首歌。

所以我使用了这段代码,但函数“sox_open_write()”的文件类型中的“-”不会将我的歌曲传输到标准输出中。我收到了这个错误:

-' exe1: example1.c:99: main: Assertion在 = sox_open_read(argv[1], NULL, >> NULL,"-")' 中没有给定文件类型的处理程序失败。

这是代码:

https://github.com/dmkrepo/libsox/blob/master/src/example1.c#L145

我试图将音频输出到另一个文件中并且它正在工作。还尝试查看在 fossies libsox 网站上制作的原始开发人员的功能。

断言(out = sox_open_write(argv[2], &in->signal, NULL, "-", NULL, NULL));

例如,我刚刚更改了函数的参数之一。在手册中,它应该将音频文件传输到标准输出。但是出现错误

我只是希望程序播放一首歌曲。

标签: craspberry-pi3soxlibsox

解决方案


推荐阅读