2011-05-14 58 views
6

我現在已經開始工作了,但延遲時間還有更好的辦法,因爲我想要兩個不同的腳本來工作我希望按照這個順序播放這些文件,並讓我的圖像按順序排列,圖像是長腳本,並且對它們也有時間延遲。在Pygame中,如果甚至可以播放多首歌曲,它又如何呢?

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

回答

7

您是否檢查pygame.Mixer模塊?默認情況下,您可以同時播放8首歌曲。

如果您使用pygame.mixer.music,那麼您將只能在當時播放一首歌曲。

如果您使用pygame.mixer.sound,那麼您最多可以播放8首歌曲。

music module是在這裏流音樂(它不會立即加載所有的音樂文件)。

sound module是在這裏玩遊戲中的不同聲音(聲音完全加載到內存中)。

所以,在你的例子,如果你想在同一時間播放的4首歌曲:

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

是的,但它是如何使用渠道我嘗試過,但如何分配一個頻道的歌曲? – user754010 2011-05-14 22:40:53

+0

@user:編輯我的答案 – 2011-05-15 07:23:48

0

下面的腳本將加載4個聲音(sound_0.wav到sound_3.wav)並播放它們。

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