Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何使用GStreamer的level插件获取特定音频文件的峰值和rms值_C_Audio_Plugins_Gstreamer_Gst Launch - Fatal编程技术网

C 如何使用GStreamer的level插件获取特定音频文件的峰值和rms值

C 如何使用GStreamer的level插件获取特定音频文件的峰值和rms值,c,audio,plugins,gstreamer,gst-launch,C,Audio,Plugins,Gstreamer,Gst Launch,我想检测特定音频文件的峰值和rms值(格式可以是.opus、.wav等,也可以从麦克风输入,而不录制语音)。使用GStreamer的优秀“level”插件,我可以做到这一点 我试过这里提供的样品 我还尝试了命令行示例 $gst-launch-1.0-v-m audiotestsrc!音频转换! 音频/x-raw,格式=S8,通道=2!水平!假装沉默=真 或 $gst-launch-1.0-v-m audiotestsrc!音量=1.0!水平! 假装沉默=真 它们给出了空rms和峰值 通过阅读这些

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

我试过这里提供的样品

我还尝试了命令行示例

$gst-launch-1.0-v-m audiotestsrc!音频转换! 音频/x-raw,格式=S8,通道=2!水平!假装沉默=真

$gst-launch-1.0-v-m audiotestsrc!音量=1.0!水平! 假装沉默=真

它们给出了空rms和峰值

通过阅读这些示例,我了解了如何使用level。但问题是,在这个例子中,他们使用caps来设置原始媒体(内部是否做了任何事情来获得levelplugin的输出?)

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

level元素发送消息。可在链接上找到使用示例(gstreamer示例):

尝试使用:

gst-launch -v -m  filesrc location=audioandsilence.wav ! decodebin ! audioconvert ! level message=TRUE ! pulsesink