[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] Only first call to Sound.play() is working



You could consider polling the mixer until the sound stops so you can avoid hardcoding the time to wait until exit/

https://www.pygame.org/docs/ref/mixer.html#pygame.mixer.get_busy

On Sun, Apr 22, 2018 at 10:07 AM, Avi Yaar <aviyaar@xxxxxxxxx> wrote:
Thanks Greg and Pablo for the advice. It turned out to be what Greg mentioned, that the second call to play() wasn't making any sound because the script terminated immediately after. Adding a second time.sleep(10) solved the problem.

Thanks again!
Avi 

On Fri, Apr 20, 2018 at 2:15 AM Greg Ewing <greg.ewing@xxxxxxxxxxxxxxxx> wrote:
Pablo Moleri wrote:
>     import time
>     import pygame
>
>     pygame.mixer.init()
>     sound = pygame.mixer.Sound("my_sound_file.wav")
>     sound.play()
>     time.sleep(10)
>     sound.play()

If that's you're entire program, I'd say it's finishing before
the second sound gets a chance to play. The sound.play() call
only *starts* the sound playing, it doesn't wait for it to
finish.

Try putting another time.sleep(10) after the second play.

--
Greg