Как я могу играть более одной песни одновременно в PyGame? - PullRequest
6 голосов
/ 15 мая 2011

У меня это работает сейчас, но с задержкой есть лучший способ, потому что я хочу, чтобы два разных скрипта работали, я хочу, чтобы они воспроизводились в этом порядке, и чтобы мои изображения появлялись в порядке, и изображения былидлинный сценарий и с задержками на них тоже.

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

Ответы [ 2 ]

7 голосов
/ 15 мая 2011

Вы проверяли модуль pygame.Mixer ?По умолчанию вы можете воспроизводить 8 песен одновременно

Если вы используете pygame.mixer.music , вы сможете одновременно воспроизводить только одну песню.

Если вы используете pygame.mixer.sound , вы сможете одновременно воспроизводить до 8 песен.

Музыкальный модуль доступен дляпотоковая музыка (он не загружает все музыкальные файлы одновременно).

Звуковой модуль предназначен для воспроизведения разных звуков во время игры (звуки полностью загружаются в память).

Итак, в вашем примере, если вы хотите воспроизвести 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 голосов
/ 15 мая 2011

Следующий скрипт загрузит 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...