1

我想检测特定音频文件的峰值和 rms 值(格式可以是 .opus、.wav 等,或者也可以从麦克风输入而不录制声音)。使用 GStreamer 的优秀“级别”插件我可以实现这一点。

我尝试了此处提供的示例 level_plugin_example

我还尝试了命令行示例,

$ gst-launch-1.0 -v -m audiotestsrc !音频转换!音频/x-raw,格式=S8,通道=2!等级 !fakesink静音=真

或者

$ gst-launch-1.0 -v -m audiotestsrc !体积体积=1.0 !等级 !fakesink静音=真

这些给出了空有效值和峰值。

通过这些例子,我知道了如何使用level。但问题是,在示例中,他们使用上限来设置原始媒体(内部是否有任何操作来获取关卡插件的输出?)但我想要用户定义的媒体输入,那么如何实现这一点?

摘要:我想要一个“级别”插件的示例代码片段,它将输入作为录制的音频或实时音频文件并检测其 rms 和峰值。

4

2 回答 2

2

尝试使用:

gst-launch -v -m  filesrc location=audioandsilence.wav ! decodebin ! audioconvert ! level message=TRUE ! pulsesink
于 2016-02-26T07:16:17.380 回答
0

“级别”元素发送消息。使用示例可以在链接(gstreamer 示例)上找到: https ://github.com/krad-radio/gstreamer-plugins-good-krad/blob/master/tests/examples/level/level-example.c

于 2016-02-18T13:38:23.617 回答