我正在开发一个小项目,我通过蓝牙在我的 Raspberry pi 上播放音乐。我也想分析音频。
如何将 Raspberry pi 音频输出传输到 gstreamer c 脚本?我使用 mp3 文件获得了正确工作的解决方案,但 ofc 我想扩展它以从我的 RPi 读取音频输出。
这是我在 gstreamer 脚本中用于从文件读取的源代码:
data.source = gst_element_factory_make ("uridecodebin", "source");
g_object_set (data.source, "uri", "file:///home/pi/example.mp3", NULL);
我是否需要将音频环回至麦克风插孔并将其用作源?或者有更好的方法吗?
最佳答案
我对 RPi 不熟悉。假设它运行常规 Linux,声音输出通过 PulseAudio 完成的可能性很高。对于每个输出设备,PulseAudio 还为该输出提供一个“监视器”设备。这个可以用来捕获音频数据。
这些监视器设备可能通过某些系统配置可见 - 但我不确定。也许它们默认存在。
从 GStreamer 的角度来看,您将使用“pulsesrc”元素来捕获音频:
从那里开始,您可以应用常规的 GStreamer 功能 - 这意味着您可以将数据写入磁盘,对数据进行实时分析等。由于这可能非常复杂,因此很难给出一般性建议。
关于c - 如何将输出音频传输到 gstreamer 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44071818/