![]() |
|
|
|
#1
|
|||
|
|||
|
Here you go, I also included the random wait
![]() Code:
import viz
import viztask
import random
viz.go()
sound = viz.addAudio('pip.wav')
soundDuration = sound.getDuration()
def playSoundLoop():
count = 0
while count < 10:
count += 1
sound.play()
yield viztask.waitTime(soundDuration+random.randrange(1,4))
sound.stop()
viztask.schedule(playSoundLoop)
soundDuration is the duration of the sound you want to play. I use that as the minimal waitTime, to make sure Vizard won't attempt to play the sound again before the first one has finished. I say attempt, because Vizard won't play the sound from the start if that same sound object is still playing. This was the problem in your code. This is also why I included the sound.stop() at the end, to make 100% sure the sound is stopped before we try to play it again. The random.randrange() is the random time after the sound has played for Vizard to wait until the next sound, in this example it'll be between 1 and 4 seconds. |
|
#2
|
|||
|
|||
|
Thank you!
Hi Erikvdb!
First of all thank you so much for the prompt and detailed help! It really helps me understand what is happening in the code. Before I saw your reply, I eventually had managed to do this, it sort of seemed to work: import viz import viztask import random viz.go() sound = viz.addAudio('pip.wav') def soundloop(): for x in range (10): yield viztask.waitTime(random.randrange(3,7,1)) pip.play() soundtask = viztask.schedule(soundloop()) But I can understand how your code if different and better and I will play around with it a bit to see what happens if I change various bits of it. Again, thank you so very much!
|
|
#3
|
|||
|
|||
|
No problem!
Yea it's up to you whether you want the sound to start directly after calling the function or not and if the wait has to been exactly between the end of the previous sound and the start of the next. I assume your sound is literally just a pip, so it won't matter so much, but I've ran into problems with this before, wondering why my sounds wouldn't play in quick succession and wishing someone had told me beforehand
|
![]() |
| Tags |
| sound loop |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| preEuler not working? or how to teleport subject multiple times | ichitaka | Precision Position Tracker (PPT) | 1 | 12-19-2015 03:27 AM |
| output to multiple (two) sound devices | GiudiceLab | Vizard | 1 | 08-05-2009 01:12 PM |
| Multiple Sound Devices | GiudiceLab | Vizard | 2 | 06-06-2009 10:29 AM |
| how can I detect when a sound finished playing? | bernie | Vizard | 3 | 05-10-2007 06:08 PM |
| Error when playing wav files...? | vjonshih | Vizard | 1 | 05-23-2005 12:21 PM |