这个想法是在这里声音时从Line-In录制(调谐器连接到Line-In或CD)。 我现在要做的是启动代码,并在没有声音约2秒时自动停止录制。我应该怎么做呢?
类似于Udpsrc属性,名为" timeout"。
答案 0 :(得分:1)
您可以使用管道[1]中的level元素。这将在GstBus上发布音频级别。例如,您可以使用1秒的间隔,如果两个连续的消息具有低rms(< -96),则将eos发布到管道。
快速示例(编辑输出):
GST_DEBUG="level:6" gst-launch-1.0 2>&1 audiotestsrc wave=silence num-buffers=10 ! level post-messages=true ! fakesink | grep ": RMS"
gstlevel.c:766:gst_level_post_message:<level0> message: RMS -700.000000 dB, peak -350.000000 dB, decay -350.000000 dB
gstlevel.c:766:gst_level_post_message:<level0> message: RMS -700.000000 dB, peak -350.000000 dB, decay -350.000000 dB
gstlevel.c:766:gst_level_post_message:<level0> message: RMS -700.000000 dB, peak -350.000000 dB, decay -350.000000 dB