我正在编写一个简单的音乐播放器。
我在 Stackoverflow 中搜索了其他问题,但是,这些解决方案不适用于我的 pygame 构建。
我的代码如下。我正在使用 Tkinter 进行 gui 构建。
import sys
from Tkinter import *
import tkMessageBox
import pygame
myGui = Tk()
def mClose():
mExit = tkMessageBox.askokcancel(title="Quit", message="are you sure?")
if mExit ==True:
myGui.destroy()
return
def mPlay():
pygame.mixer.init()
pygame.mixer.music.load("/home/david/Downloads/test.mp3")
pygame.mixer.music.play()
def unPause():
pygame.mixer.music.unpause()
def mPause():
pygame.mixer.music.pause()
myGui.title("My Audio")
myGui.geometry("200x200+600+300")
mLabel = Label(myGui, text="My Audio").pack()
''' Button for Closing App'''
mButton = Button(myGui, text="Close", command = mClose).pack()
'''Play Button'''
mButton = Button(myGui, text="Play", command = mPlay).pack()
'''Pause Button'''
mButton = Button(myGui, text="Pause", command = mPause).pack()
'''UnPause Button'''
mButton = Button(myGui, text="UnPause", command = unPause).pack()
我已经厌倦了使用 pygame.mixer.music.get_busy() 来组合暂停和取消暂停。但是,如果它被暂停,则布尔值仍会返回 true 以表示处于活动状态。
我使用以下方法无济于事:
def play_pause():
paused = not paused
if paused: pygame.mixer.music.unpause()
else: pygame.mixer.music.pause()
我得到以下信息:
File "/home/david/Documents/tkinter_testing.py", line 29, in play_pause
paused = not paused
UnboundLocalError: local variable 'paused' referenced before assignment.
任何想法或帮助。提前感谢您的帮助。