2011-05-14 17 views
6

Lo tengo trabajando ahora, pero con el retraso de tiempo hay una mejor manera porque quiero que estén funcionando dos scripts diferentes. Quiero tener estos juegos en este orden y hacer que mis imágenes entren en orden y las imágenes sean script largo y tienen retrasos en ellos también.En Pygame, ¿cómo es si es posible tocar más de una canción?

#!/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.Sound('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() 

Respuesta

7

¿Has comprobado el módulo pygame.Mixer? De forma predeterminada, puede reproducir 8 canciones simultáneamente

Si usa pygame.mixer.music, solo podrá reproducir una canción por vez.

Si usa pygame.mixer.sound, podrá reproducir hasta 8 canciones en ese momento.

El music module está aquí para transmitir música (no carga todo el archivo de música a la vez).

El sound module está aquí para reproducir diferentes sonidos durante el juego (los sonidos están completamente cargados en la memoria).

Así, en su ejemplo, si desea reproducir las 4 canciones al mismo tiempo:

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() 
+0

Sí, pero ¿cómo uso los canales que probé, pero cómo asignar una canción a un canal? – user754010

+0

@user: editado mi respuesta –

0

La siguiente secuencia de comandos se carga 4 sonidos (sound_0.wav a sound_3.wav) y reproducirlos.

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