in tts/tts/scripts/voicer.py [0:0]
def play(self, filename):
self.logger.info('using gstreamer to play the audio')
playbin = Gst.ElementFactory.make('playbin', 'player')
bus = playbin.get_bus()
playbin.props.uri = 'file://' + os.path.abspath(filename)
time.sleep(0.5) # sometimes gst needs time to get ready for unknown reasons
set_result = playbin.set_state(Gst.State.PLAYING)
if set_result != Gst.StateChangeReturn.ASYNC:
raise RuntimeError("gstreamer error: playbin.set_state returned " + repr(set_result))
bus.poll(Gst.MessageType.EOS, Gst.CLOCK_TIME_NONE)
playbin.set_state(Gst.State.NULL)