我想使用 GStreamer 播放具有不同播放速率的音频文件。这已经很好了。但是,与Python GStreamer reference相反,负值率不向后播放音频文件。
有人知道如何实现我的目标吗?是否与 filesrc 或 decodebin2 无法缓冲文件以进行反向播放?或者这只是一个错误?
这是我的代码的(veeery)简化版本:
import os
import pygst
pygst.require('0.10')
import gst
import gtk
gst_command = ('filesrc location=%s ! decodebin2 ! autoaudiosink') % \
'/mnt/audio/test.wav'
pipeline = gst.parse_launch(gst_command)
pipeline.set_state(gst.STATE_PLAYING)
pipeline.get_state()
position = 10 * gst.SECOND
rate = -1.0
pipeline.seek(rate, gst.FORMAT_TIME, \
gst.SEEK_FLAG_FLUSH | gst.SEEK_FLAG_ACCURATE, \
gst.SEEK_TYPE_SET, position, \
gst.SEEK_TYPE_NONE, -1)
gtk.main()
我熟悉其他编程语言而不是Python,所以不要犹豫,用你最喜欢的语言回答......:)
答案 0 :(得分:0)
调试输出似乎说:
0:00:00.447509530 6848 0x10d6e30 DEBUG wavparse gstwavparse.c:1020:gst_wavparse_perform_seek:<wavparse0> negative playback rates are not supported yet.
所以你应该提交一个bug来请求实现它,或者实现它。