开发者

How can I play more than one song at a time in PyGame?

I've got it working now but with the time delay is there a better way because I want two different scripts to be working I want to have these playing in this order and have my images come up in order and the images are a long script and have time delays on them too.

#!/usr/bin/env python
import pygame
pygame.mixer.init()
pygame.mixer.pre_init(44100, -16, 2, 2048)
pygame.init()
print "hey I finaly got this working!"
sounda= pygame.mixer.开发者_StackOverflowSound('D:/Users/John/Music/Music/FUN.OGG')
soundb= pygame.mixer.Sound('D:/Users/John/Music/Music/Still Alive.OGG')
soundc= pygame.mixer.Sound('D:/Users/John/Music/Music/turret.OGG')
soundd= pygame.mixer.Sound('D:/Users/John/Music/Music/portalend.OGG')
sounda.play()
pygame.time.delay(11000)
soundb.play()<P>
pygame.time.delay(180000)
soundc.play()
pygame.time.delay(90000)
soundd.play()


Did you check the pygame.Mixer module ? On default, you can play 8 songs simultaneously

If you use the pygame.mixer.music, you'll be able to play only one song at the time.

If you use the pygame.mixer.sound, you'll be able to play up to 8 songs at the time.

The music module is here to stream music (it doesn't load all the music file at once).

The sound module is here to play differents sounds during game (sounds are completely loaded in memory).

So, in your example if you want to play the 4 songs at the same time :

import pygame
pygame.mixer.init()
pygame.mixer.pre_init(44100, -16, 2, 2048)
pygame.init()
print "hey I finaly got this working!"
sounds = []
sounds.append(pygame.mixer.Sound('D:/Users/John/Music/Music/FUN.OGG'))
sounds.append(pygame.mixer.Sound('D:/Users/John/Music/Music/Still Alive.OGG'))
sounds.append(pygame.mixer.Sound('D:/Users/John/Music/Music/turret.OGG'))
sounds.append(pygame.mixer.Sound('D:/Users/John/Music/Music/portalend.OGG'))
for sound in sounds:
    sound.play()


The following script will load 4 sounds (sound_0.wav to sound_3.wav) and play them.

sounds = []
for i in range(4):
    sound = pygame.mixer.Sound('sound_%d.wav'%i)
    sound.play()
    sounds.append(sound)
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜