如何将一个音频通道相对于另一个音频通道移动

时间:2019-10-03 15:06:28

标签: gstreamer gstreamer-1.0

我有一个立体声输入文件,我想将一个声道相对于另一个声道进行移位。在this answer之后,我希望能够做到:

  • 使用deinterleave元素分割频道,
  • 使用gst_pad_set_offset切换其中一个频道,
  • 将频道与interleave元素组合回去:
GstElement* pipeline = gst_parse_launch (
      "filesrc location=\"input.wav\" ! decodebin ! deinterleave name=split "
      "interleave name=join ! wavenc ! filesink location=test.wav "
      "split.src_0 ! queue ! join.sink_0 "
      "split.src_1 ! queue ! join.sink_1",
      NULL);
GstElement*  join = gst_bin_get_by_name (GST_BIN (pipeline), "join");
gst_pad_set_offset (gst_element_get_static_pad (join, "sink_0"), 10*GST_MSECOND);

但是这不起作用:输出文件中的通道仍然完全对齐。有没有一种方法可以在不编写完整的自定义元素的情况下转移一个频道?

0 个答案:

没有答案