2013-05-12 3 views
0

파이 게임 사운드로 사운드를 재생하려고합니다. 내 코드는 다음과 같습니다.파이 게임 재생 사운드 차단

from tkinter import * 
import pygame 
root= Tk() 
pygame.init() 
bass = pygame.mixer.Sound('sounds\\bass.wav') 
snare = pygame.mixer.Sound('sounds\snare.wav') 
crash = pygame.mixer.Sound('sounds\crash.wav') 
bass.play() 
snare.play() 
crash.play() 
root.mainloop() 

이 코드를 실행하면 세 개의 웨이브 파일이 모두 재생됩니다.

나는 하나씩 차례대로 연주하고 각각의 연속적인 소리 사이의 시간차를 제어 할 수 있습니다.

어떻게하면 좋을까요?

답장을 보내 주셔서 감사합니다.

답변

1

pygame.mixer.music 모듈을 사용하면 사운드 사이에 버퍼를 지정하는 방법을 모르지만 파일을 큐에 대기시킬 수 있습니다.

pygame.mixer.music.load('sounds\bass.wav') 
pygame.mixer.music.queue('sounds\snare.wav') 
pygame.mixer.music.queue('sounds\crash.wav') 
pygame.mixer.music.play() 

http://www.pygame.org/docs/ref/music.html#pygame.mixer.music.queue

그냥 mixer.music 먼저 전체 파일을로드 할 mixer.Sound 객체는 달리 오디오 스트림 점에 유의.

+0

안녕하세요.이 코드는 첫 번째로로드 된 사운드 만 재생합니다. 추가 된 매개 변수를 사용하여 초기화해야합니까? 나는 현재 pygame.init()을 사용하고 있으며 첫 번째 사운드 만 재생합니다. wav 파일은 모두 1 초입니다. 우려가있는 경우 – oat

+0

흠. 문서에서 첫 번째 사운드가로드되고 재생 된 다음 다른 사운드가 재생되는 동안 대기합니다. 너 그거 해봤 니? – Haz

+0

예이 예제뿐만 아니라 pygame 워드 프로세서에 표시된 하나를 시도했다. 나는 여전히 첫 번째 사운드 만 재생할 수있다. ( – oat