如何将输出音频传输到gstreamer脚本?

时间:2017-05-19 13:50:39

标签: c raspberry-pi gstreamer

我在一个小项目上工作,我通过蓝牙播放音乐到我的Raspberry pi。另外我也想分析音频。

如何将Raspberry pi音频输出传输到gstreamer c脚本?我有一个正确工作的解决方案与mp3文件,但是我想扩展它来读取我的RPi的音频输出。

以下是我在gstreamer脚本中用来从文件中读取的源代码:

data.source = gst_element_factory_make ("uridecodebin", "source");
g_object_set (data.source, "uri", "file:///home/pi/example.mp3", NULL);

我是否需要将音频环回麦克风插孔并将其用作音源?或者有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

我不熟悉RPi。假设它运行常规的Linux机会很高,声音输出是通过PulseAudio完成的。对于每个输出设备,PulseAudio还为此输出提供了一个“监视器”设备。这个可以用来捕获音频数据。

某些系统配置可能会使这些监视器设备可见 - 但我不确定。也许它们默认存在。

从GStreamer的角度来看,你会使用“pulsesrc”元素来捕捉音频:

https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-pulsesrc.html

从那里你可以使用常规的GStreamer功能 - 这意味着你可以将数据写入磁盘,对数据进行实时分析等等。由于这可能非常复杂,很难给出一般建议..