我想连续收听来自 alsasrc 的音频流,同时能够将片段保存到文件中。我将按下带有“记录”或“停止”的按钮。
我想我需要以下 gst-launch-0.10 命令才能工作: gst-launch-0.10 alsasrc do-timestamp=true !三通名称=t!队列 !阿尔萨辛克 !队列 !音频转换!波浪!输出选择器名称=s s。!文件接收器位置=test1.wav s。!假水槽
当我按下记录/停止按钮时,我对输出选择器进行编程以在文件接收器和假接收器之间切换,我知道插件中的 gst-plugins-bad/tests/icles/output-selector-test.c 示例,并且想破解一下。
现在问题出现在输出选择器中,它创建了文件 test1.wav 但没有写入文件。为了专注于我创建的这个问题:
gst-launch-0.10 audiotestsrc is-live=true do-timestamp=true !波浪!输出选择器名称=s s。!文件接收器位置=test1.wav s。!文件接收器位置=test2.wav
这也不起作用(而 gst-launch-0.10 audiotestsrc is-live=true do-timestamp=true !wavenc !filesink location=test1.wav 按预期工作)。这两个文件已创建但未写入。谁能指出我正确的方向?
在发布“[gst-devel] 如何在播放管道之前将多个文件接收器链接到输出选择器”时,我读到第二个接收器在预卷上阻塞。这就是为什么 output-selector-test.c 中的示例使用 live-src 作为技巧的原因,我也使用 audiotestsrc 来做到这一点,但它对我没有用。