Как использовать модуль Discoverer с pygi GstPbutils?

Я пытаюсь портировать код музыкального проигрывателя pygtk на pygi, который использует модуль discoveryrer gst.

from gi.repository import Gst, GstPbutils

def on_discovered(discoverer, ismedia):
    print("%s -- %s" %( discoverer.tags.get('title', 'Unknown'),
                        discoverer.tags.get('artist', 'Unknown')))

Gst.init(None)
location = "file:///srv/Music/molly_hatchet-the_creeper.mp3"
discoverer = GstPbutils.Discoverer()
discoverer.discover_uri(location)
discoverer.connect('discovered', on_discovered)

Когда я пытаюсь запустить это, я получаю следующую ошибку:

/usr/lib/python2.7/dist-packages/gi/types.py:43: Warning: g_object_get_qdata: assertion `G_IS_OBJECT (object)' failed
  return info.invoke(*args, **kwargs)
/usr/lib/python2.7/dist-packages/gi/types.py:43: Warning: g_object_ref_sink: assertion `G_IS_OBJECT (object)' failed
  return info.invoke(*args, **kwargs)

** (python:21482): CRITICAL **: pygobject_register_wrapper: assertion `PyObject_TypeCheck(self, &PyGObject_Type)' failed
/usr/lib/python2.7/dist-packages/gi/types.py:43: Warning: g_object_unref: assertion `G_IS_OBJECT (object)' failed
  return info.invoke(*args, **kwargs)

К сожалению, документация по этому модулю pygi немного скудна.

На данный момент я вернулся к pygtk, но я хотел бы знать, как сделать эту работу с pygi, так как это будет путь вперед с Ubuntu.

3
задан 25 July 2018 в 05:05

1 ответ

В сообщении MSG об ошибке указано «python 2.7», но вы импортируете модули python3. Убедитесь, что вы используете что-то вроде

#!/usr/bin/env python3

вверху вашего скрипта или явно вызываете его с python3. Напоминаю, что, похоже, проблема и с GstPbutils в python3 : (

0
ответ дан 25 July 2018 в 05:05

Другие вопросы по тегам:

Похожие вопросы: