00001 #!/usr/bin/env python 00002 00003 #*********************************************************** 00004 #* Software License Agreement (BSD License) 00005 #* 00006 #* Copyright (c) 2009, Willow Garage, Inc. 00007 #* All rights reserved. 00008 #* 00009 #* Redistribution and use in source and binary forms, with or without 00010 #* modification, are permitted provided that the following conditions 00011 #* are met: 00012 #* 00013 #* * Redistributions of source code must retain the above copyright 00014 #* notice, this list of conditions and the following disclaimer. 00015 #* * Redistributions in binary form must reproduce the above 00016 #* copyright notice, this list of conditions and the following 00017 #* disclaimer in the documentation and/or other materials provided 00018 #* with the distribution. 00019 #* * Neither the name of the Willow Garage nor the names of its 00020 #* contributors may be used to endorse or promote products derived 00021 #* from this software without specific prior written permission. 00022 #* 00023 #* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 00024 #* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 00025 #* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 00026 #* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 00027 #* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 00028 #* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 00029 #* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 00030 #* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 00031 #* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 00032 #* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 00033 #* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 00034 #* POSSIBILITY OF SUCH DAMAGE. 00035 #*********************************************************** 00036 00037 # Author: Blaise Gassend 00038 00039 import rospy, os, sys 00040 from sound_play.msg import SoundRequest 00041 00042 from sound_play.libsoundplay import SoundClient 00043 00044 def sleep(t): 00045 try: 00046 rospy.sleep(t) 00047 except: 00048 pass 00049 00050 if __name__ == '__main__': 00051 rospy.init_node('soundplay_test', anonymous = True) 00052 soundhandle = SoundClient() 00053 00054 rospy.sleep(1) 00055 00056 soundhandle.stopAll() 00057 00058 print "This script will run continuously until you hit CTRL+C, testing various sound_node sound types." 00059 00060 print 00061 #print 'Try to play wave files that do not exist.' 00062 #soundhandle.playWave('17') 00063 #soundhandle.playWave('dummy') 00064 00065 #print 'say' 00066 #soundhandle.say('Hello world!') 00067 #sleep(3) 00068 # 00069 print 'wave' 00070 soundhandle.playWave('say-beep.wav') 00071 sleep(2) 00072 00073 print 'plugging' 00074 soundhandle.play(SoundRequest.NEEDS_PLUGGING) 00075 sleep(2) 00076 00077 print 'unplugging' 00078 soundhandle.play(SoundRequest.NEEDS_UNPLUGGING) 00079 sleep(2) 00080 00081 print 'plugging badly' 00082 soundhandle.play(SoundRequest.NEEDS_PLUGGING_BADLY) 00083 sleep(2) 00084 00085 print 'unplugging badly' 00086 soundhandle.play(SoundRequest.NEEDS_UNPLUGGING_BADLY) 00087 sleep(2) 00088 00089 s1 = soundhandle.builtinSound(SoundRequest.NEEDS_UNPLUGGING_BADLY) 00090 s2 = soundhandle.waveSound("say-beep.wav") 00091 s3 = soundhandle.voiceSound("Testing the new A P I") 00092 00093 print "New API start voice" 00094 s3.repeat() 00095 sleep(3) 00096 00097 print "New API wave" 00098 s2.play() 00099 sleep(2) 00100 00101 print "New API builtin" 00102 s1.play() 00103 sleep(2) 00104 00105 print "New API stop" 00106 s3.stop()