- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个基于 gstreamer 和 dbus 的 python 音频播放器 http://sourceforge.net/p/autoradiobc/code/210/tree/trunk/autoradio/autoplayer/player_gstreamer1.py .它与 pygst 一起工作,我想将它移植到 gstreamer 1。按照这个如何https://wiki.ubuntu.com/Novacut/GStreamer1.0它会起作用但是:
File "/home/pat1/svn/autoradio/autoradio/autoplayer/player.py", line 826, in position
except(Gst.QueryError):
File "/usr/lib64/python2.7/site-packages/gi/module.py", line 316, in __getattr__
return getattr(self._introspection_module, name)
File "/usr/lib64/python2.7/site-packages/gi/module.py", line 135, in __getattr__
self.__name__, name))
AttributeError: 'gi.repository.Gst' object has no attribute 'QueryError'
在这部分代码中:
try:
pos_int = self.player.query_position(Gst.Format.TIME, None)[0]
except(Gst.QueryError):
logging.warning( "Gst.QueryError in query_position" )
return None
在我得到之后绕过这个问题:
if ret == Gst.State.CHANGE_FAILURE:
AttributeError: type object 'GstState' has no attribute 'CHANGE_FAILURE'
这部分代码:
ret = self.player.set_state(Gst.State.READY)
if ret == Gst.State.CHANGE_FAILURE:
logging.error( "Unable to set the pipeline to the READY state.")
也绕过这个问题,我得到:
File "/home/pat1/svn/autoradio/autoradio/autoplayer/player.py", line 659, in on_message_state_changed
(Gst.element_state_get_name(old_state),
File "/usr/lib64/python2.7/site-packages/gi/module.py", line 316, in __getattr__
return getattr(self._introspection_module, name)
File "/usr/lib64/python2.7/site-packages/gi/module.py", line 135, in __getattr__
self.__name__, name))
AttributeError: 'gi.repository.Gst' object has no attribute 'element_state_get_name'
这部分代码:
logging.debug("Pipeline state changed from %s to %s. Pendig: %s"%
(Gst.element_state_get_name(old_state),
Gst.element_state_get_name (new_state),
Gst.element_state_get_name (pending_state)))
注释掉播放器将要工作的 element_state_get_name ....
如何在不绕过损坏代码的情况下将完整代码迁移到 gstreamer 1?
最佳答案
我找不到关于 QueryError 的第一个问题的解决方案
但是:
if ret == Gst.State.CHANGE_FAILURE:
成为:
if ret == Gst.StateChangeReturn.FAILURE:
和:
Gst.element_state_get_name(old_state)
成为:
Gst.Element.state_get_name(old_state)
和:
self.player.set_new_stream_time(0L)
成为:
self.player.set_start_time(0L)
和:
event = Gst.event_new_seek(1.0, Gst.Format.TIME,
Gst.SeekFlags.FLUSH|Gst.SeekFlags.ACCURATE,
Gst.SEEK_TYPE_SET, tnano, Gst.SEEK_TYPE_NONE, 0)
成为:
event = Gst.Event.new_seek(1.0, Gst.Format.TIME,
Gst.SeekFlags.FLUSH|Gst.SeekFlags.ACCURATE,
Gst.SeekType.SET, tnano, Gst.SeekType.NONE, 0)
和:
pos_int = self.player.query_duration(Gst.Format.TIME, None)[0]
成为:
pos_int = self.player.query_duration(Gst.Format.TIME)[1]
关于python - 将 PyGST 应用程序移植到 GStreamer1.0 + PyGI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18165647/
我想制作两点之间的电缆(线)的图像。我考虑用两点之间的距离制作电缆,然后将图像旋转两点之间的度数。 但我不知道如何从无到有创建图像。我的意思是,制作一个 5 像素宽、“x”长的图像,然后将其旋转“y”
虽然我已经找到了这个问题的部分和间接答案(参见,例如,this link),我在这里发布这个是因为把拼图的点点滴滴拼凑起来花了我一些时间,我认为其他人可能会找到我的努力使用。 那么,如何在 GTK+
我刚开始使用 PyGI(在 Ubuntu Natty 上),尽管我以前从未使用过 pygtk。虽然我在 wxPython 程序中使用了 wnck,但它很容易获得当前打开的窗口列表。在 PyGI 中,窗
我有一个基于 gstreamer 和 dbus 的 python 音频播放器 http://sourceforge.net/p/autoradiobc/code/210/tree/trunk/auto
有谁可以在 PyGi 中找到 gnome keyring api 吗? 我曾经做过: import gnomekeyring 现在我想使用新的 python/gobject 自省(introspect
我正在尝试将一些 pygtk 音乐播放器代码移植到使用 gst 发现器模块的 pygi。 from gi.repository import Gst, GstPbutils def on_discov
我尝试使用此处提供的 Windows 安装程序安装 PyGI:http://sourceforge.net/projects/pygobjectwin32/files/?source=navbar 我
安装 python 解释器: http://python.org/ftp/python/2.7.2/python-2.7.2.msi和: http://ftp.gnome.org/pub/GNOME/
我正在尝试转换我的 Gtk 应用程序中的菜单栏,以便它将使用 GActions(来自 Gio)而不是 GtkActions在 Python3 中使用 GObject Instrospection。 我
我是一名优秀的程序员,十分优秀!