天天看點

《Head First Programming》---python 9_GUI Mixer

本章主要利用tkinter庫和pygame庫,實作GUI界面的點選選擇音樂檔案控制音樂播放/關閉,同時利用水準滑動标尺控制音量大小。

from tkinter import *
import pygame.mixer

def track_toggle():
    if track_playing.get() == 1:
        track.play(loops = -1)

    else:
        track.stop()

def change_volume(v):
    track.set_volume(volume.get())

app = Tk()
app.title("Head First Mix")

mixer = pygame.mixer
mixer.init()

sound_file = "50459_M_RED_Nephlimizer.wav"
track = mixer.Sound(sound_file)
track_playing = IntVar()
track_button = Checkbutton(app, variable = track_playing,
                           command = track_toggle,
                           text = sound_file)
track_button.pack(side = LEFT)

volume = DoubleVar()
volume.set(track.get_volume())
volume_scale = Scale(variable = volume,
                     from_ = 0.0,
                     to = 1.0,
                     resolution = 0.1,
                     command = change_volume,
                     label = "Volume",
                     orient = HORIZONTAL)
volume_scale.pack(side = RIGHT)

def shutdown():
    track.stop()
    app.destroy()
app.protocol("WM_DELETE_WINDOW", shutdown)


app.mainloop()      

1. 音樂檔案下載下傳位址:

​​sound files​​

繼續閱讀