Gstreamer is the Opensource multimedia Framework. The applications it supports range from simple Ogg/Vorbis playback, audio/video streaming to complex audio (mixing) and video (non-linear editing) processing.
Here, we use the gstreamer through Python to play the audio file. (mp3,wav etc). —usage ptyhon audio-player.py <File to Play>
<pre>#!/usr/bin/python import pygst,sys pygst.require("0.10") import gst import pygtk import gtk class Main: def __init__(self): # Create the pipeline. self.pipeline = gst.Pipeline("mypipeline") self.filesrc = gst.element_factory_make("filesrc", "source") self.filesrc.set_property("location", sys.argv[1]) self.decode = gst.element_factory_make("decodebin", "decode") self.decode.connect("new-decoded-pad", self.OnDynamicPad) self.convert = gst.element_factory_make("audioconvert", "convert") self.sink = gst.element_factory_make("alsasink", "sink") # add the elements to the pipeline. self.pipeline.add(self.filesrc,self.decode,self.convert,self.sink) # Link them. self.filesrc.link(self.decode) self.convert.link(self.sink) # state in Playing mode. self.pipeline.set_state(gst.STATE_PLAYING) def OnDynamicPad(self, dbin, pad, islast): print "OnDynamicPad Called!" pad.link(self.convert.get_pad("sink")) start=Main() gtk.main()