繁体   English   中英

播放音频文件后pygame没有响应

[英]pygame is not responding after playing an audio file

我是pygame的新手,而不是经验丰富的python程序员,因此希望您能提供帮助。 我正在尝试使用pygame和tkinter在python上制作自己的音频播放器。 所以有我的代码:

from tkinter import *
from tkinter.filedialog import *
import pygame
import sys
from pygame import*
mixer.init()
pygame.mixer.pre_init(44100, -16, 2, 2048)
def play(event):
    mixer.music.load("Chillingmusic.wav")
    mixer.music.play()
    while mixer.music.get_busy():
        time.Clock().tick(10)

def pause(event):
    pygame.mixer.music.pause()
    song.pause()

root=Tk()

txt=Text(root)

m=Menu(root)
root.config(menu=m)

fm=Menu(m)
m.add_cascade(label="File",menu=fm)
fm.add_command(label="Open",command_=open)

but=Button(text=">",bg="lightgreen")
but.grid(row=0,column=0)
but.bind("<Button-1>",play)

but1=Button(text="p",bg="lightblue")
but1.grid(row=0,column=1)
but1.bind("<Button-1>",pause)

root.mainloop()
pygame.quit()

问题是,当我开始使用播放功能音频文件播放音乐时,正在播放音乐,但是在该界面停止响应之后,例如,我无法使用暂停功能。 我在Windows 10(64位)上使用python 3.6和pygame 1.9.3。

歌曲play完成之前,您的play功能不会结束。 这意味着您的程序必须等待其完成,并且在此期间无法执行其他任何操作,从而使其他所有操作均无响应。 不要使用while循环。

def play(event):
    mixer.music.load("Chillingmusic.wav")
    mixer.music.play()

mixer正在使用与主线程不同的线程,因此音乐将播放,并且您自己的代码可以同时执行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM