| Server IP : 182.53.201.61 / Your IP : 216.73.217.175 Web Server : Apache/2.2.15 (Fedora) System : Linux km10.dyndns.org 2.6.31.5-127.fc12.i686.PAE #1 SMP Sat Nov 7 21:25:57 EST 2009 i686 User : apache ( 48) PHP Version : 5.3.3 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/lib/python2.6/site-packages/orca/ |
Upload File : |
# Orca
#
# Copyright 2009 Sun Microsystems Inc.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this library; if not, write to the
# Free Software Foundation, Inc., Franklin Street, Fifth Floor,
# Boston MA 02110-1301 USA.
"""Provides support for playing audio files."""
__id__ = "$Id$"
__version__ = "$Revision$"
__date__ = "$Date$"
__copyright__ = "Copyright (c) 2009 Sun Microsystems Inc."
__license__ = "LGPL"
if False:
# Don't require this until we actually use gst directly instead
# of doing an os.system call.
#
import pygst
pygst.require("0.10")
import gst
class Sound:
"""Class to hold a path to a sound file to play."""
def __init__(self, path):
self._path = path
def play(self):
if False:
# WDW - this plays audio once, but then never plays it again.
#
pipe = gst.parse_launch(
"filesrc location=%s ! wavparse ! autoaudiosink" % self._path)
pipe.set_state(gst.STATE_PLAYING)
elif True:
import os
os.system(
'gst-launch filesrc location="%s" ! wavparse '\
'! autoaudiosink > /dev/null 2>&1 &'\
% self._path)
else:
# WDW - This has issues with linking up the pipeline. It
# doesn't work.
#
player = gst.Pipeline("OrcaPlayer")
source = gst.element_factory_make("filesrc", "file-source")
decoder = gst.element_factory_make("wavparse", "wav-decoder")
sink = gst.element_factory_make("autoaudiosink", "audio-sink")
print source, decoder, sink
player.add(source, decoder, sink)
gst.element_link_many(source, decoder, sink)
player.get_by_name("file-source").set_property(
"location", self._path)
player.set_state(gst.STATE_PLAYING)