1

私は単純な音楽プレーヤーをコーディングしています。

Stackoverflow で他の質問を検索しましたが、私の pygame ビルドでは解決策が機能しません。

私のコードは以下です。GUIビルドにはTkinterを使用しています。

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. 

アイデアやヘルプ。助けてくれてありがとう。

4

2 に答える 2

1

値を割り当てpausedていますが、値を求めて自分自身を呼び出しています。あなたが探しているのは

paused = False

また

paused = not True
于 2013-07-17T17:49:11.137 に答える