使用gstreamer1.0和gtk3制作一个带有播放控件的简单音频播放器

时间:2014-12-29 00:31:30

标签: python gstreamer gnome-3 python-gstreamer

我想使用GI库制作一个简单的音乐播放器,包括最近的Gstreamer1.0。界面只包含2个按钮(播放/暂停)和一个用于查找当前播放时间的刻度:

here's a simple screen of the interface

我非常了解管道和元素的东西,我也想出了如何寻找想要的播放时间(当用户改变音阶的价值时),但我想知道什么是最好的方法文件播放时自动更新滑块/比例。使用旧API实现here的一种方法是使用定时读取当前玩家位置并更新滑块位置的计时器:

Glib.timeout_add(100, update_slider_callback)

我发现它不是很优雅,有没有更好的方法来使用新的GI API?

编辑:对于任何好奇的人,我实施了它here

1 个答案:

答案 0 :(得分:1)

这至少是如何在pitivi中实现的,这是gst / python代码的一个很好的参考。

这是确切的位置:

https://git.gnome.org/browse/pitivi/tree/pitivi/utils/pipeline.py#n390

位置查询封装在自定义管道子类中,但代码类似。

你应该看看这个utils文件夹顺便说一句,那里有很多好东西:)

至于优雅,在主线程中重复查询位置对我来说似乎不是那么黑。