Date Tags Python

Gstreamer based python audio player in no time

I’m learning to develop with Gstreamer 0.10 framework, which natively comes with Python binding, which is rare enough to notice for a project.

So, starting an audio player is quite simple:

  • create a player from the GstElement factory
  • give your file uri to the player and set it to play
  • start a loop (i used gobject here, but it should work with gtk.main() or a while-true loop)

Here is the code:

import pygst
pygst.require('0.10')
import gst
import gobject, sys

def play_uri(uri):
    " play an uri like file:///home/foo/bar.mp3 "

    mainloop = gobject.MainLoop()
    player = gst.element_factory_make("playbin", "player")

    print 'Playing:', uri
    player.set_property('uri', uri)
    player.set_state(gst.STATE_PLAYING)

    mainloop.run()

Ok, this is a start, now i need to:

  • get status information
  • seek + / -
  • play/pause/stop
  • manage a playing queue
  • manage video playing

So things will be a bit more complicated in a moment ;)