2013-05-17 4 views
1

나는 간단한 타이머 프로그램을 만들고있다. 시간이되면 경고 창이 나타나고 노래도 함께 연주하고 싶습니다. pygame.mixer를 사용하여 수집 한 것부터 작동하지만 내 오디오가 재생되지 않습니다. 여기 내 코드입니다 : .mp3 파일과파이 게임으로 소리 치지 못하도록

from Tkinter import * 
import tkMessageBox 
import pygame 

pygame.init() 
pygame.mixer.init() 
Sound = pygame.mixer.Sound("alarm.mp3") 


def messageWindow(): 
     win = Toplevel() 
     b = Button(win, text='Times Up!', 
       bg="yellow", fg="green", 
       activebackground="purple", activeforeground="white", 
       command=quit) 
     b.pack(ipadx=root.winfo_screenwidth()/2, 
       ipady=root.winfo_screenheight()/2) 

     root.mainloop() 

def alert(): 
     Sound.play() 
     messageWindow() 
     quit() 

def start(): 
     root.after(scale.get() * 1000, alert) 

root = Tk() 

minutes = Label(root, text ="Minutes: ") 
minutes.grid(row=0, column=0) 

scale = Scale(root, from_=1, to=60, orient=HORIZONTAL, length=450) 
scale.grid(row=0, column=1) 

button = Button(root,text= "Start Timing", command=start) 
button.grid(row=1, column=1, pady=5, sticky=E) 

root.mainloop() 
+1

볼륨을 확인했다고 가정합니다. ogg, wav? –

+0

아니요, 다른 형식을 시도하지 않았습니다. 차이가 있니? 내가 이해하는 것부터 mp3와 함께 작동해야합니다. – chadybear

+0

.wav로 바꿨고 효과가있었습니다. 기묘한. 감사합니다 – chadybear

답변

2

지금까지 내가 말할 수있는, 파이 게임이 없습니다 내장 된 호환성,하지만 당신은 오디오를 재생할 수있는 다른 방법은 여러 가지가있을 수 있습니다. MP3 파일의 경우

구체적으로,이처럼 사용할 수있는 mp3play 패키지가 :

Windows에서 프로그램을 작성하는 경우

(이 모듈은 http://pypi.python.org/pypi/mp3play/0.1.15#downloads에서 다운로드 할 수 있습니다)

import mp3play 
filename = "C:/PATH/TO/FILE.mp3" 
sound = mp3play.load(filename) 
sound.play() 

,

import winsound 
winsound.PlaySound("C:/PATH/TO/FILE.mp3") 

다른 옵션은 스낵 사운드 툴킷 (http://www.speech.kth.se/snack/)과 PyMed 있습니다 다음과 같이 당신은 또한 winsound 모듈을 사용할 수 있습니다 패키지.

+0

감사합니다. 나는 그 다른 꾸러미를 알고 있었다. 그러나 나는 리눅스 민트에서 일하고있다. 정보 주셔서 감사합니다. 나는 지금부터 .wav를 사용할 것이다. – chadybear

관련 문제