繁体   English   中英

如何将输出音频通过管道传输到gstreamer脚本?

[英]How to pipe output audio to gstreamer script?

iam在一个小项目上工作,在那里我通过蓝牙为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);

我是否需要将音频回送至麦克风插孔并将其用作来源? 还是有更好的方法来做到这一点?

我对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函数-意味着您可以将数据写入磁盘,对数据进行实时分析等。由于这可能非常复杂,因此很难给出一般建议。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM