在PyGame中,我如何一次播放多首歌曲?

2024-04-19 23:36:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经让它工作了,但有时间延迟是有更好的方法,因为我想两个不同的脚本工作,我想让这些发挥在这个顺序,让我的图像出现在顺序,图像是一个长的脚本,并有时间延迟他们也。

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

Tags: 图像脚本playtime顺序initmusicjohn
2条回答

你检查过pygame.Mixer模块了吗?默认情况下,您可以同时播放8首歌曲

如果您使用pygame.mixer.music,那么您一次只能播放一首歌。

如果您使用pygame.mixer.sound,您将能够播放最多8首歌曲。

这里的music module是用来播放音乐的(它不会一次加载所有的音乐文件)。

这里的sound module在游戏中播放不同的声音(声音完全加载在内存中)。

所以,在你的例子中,如果你想同时播放这四首歌:

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

下面的脚本将加载4个声音(声音0.wav到声音3.wav)并播放它们。

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

相关问题 更多 >