我正在編碼一個簡單的音樂播放器。Python 2.7,pygame,梳理暫停和取消暫停按鈕。
我已經在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.
任何意見或幫助。預先感謝您的幫助。
他使用not paused來切換我認爲是布爾值的變量。不是真的是假的而不是假的 –
@Decency如果'paused'最初被分配了一個值,那麼他的代碼將是正確的。但是,第一次運行「paused」的代碼沒有一個值,該值在賦值之前拋出它被引用的錯誤。 – nwalsh
真的!我認爲它是最初設定的,但沒有注意到這個錯誤。在那種情況下,他有兩個問題。 :D –