回顧音樂播放器知識點

一,回顧音樂播放器知識點

1. 使用的模塊

​ from tkinter import Frame, Tk, Button, Label, Listbox

​ from tkinter.font import Font

​ from PIL import Image, Image TK # Image Tk.PhotoImage()

​ import os

​ import pygame

​ from datetime import datetime

​ from threading import Tread

​ import time

2. 窗口創建,窗口和組件( 小部件 ) 之間的關係

​ 頂層窗口 : master = Tk()

​ 組件在創建時,必須指定它的父窗口(指定上下級關係):

​ listFrame = Frame(master)

​ nameLabel = Label (listFrame)

3. 組件或小部件裝載到窗口(佈局)

​ 1.pack() # 分爲 TOP,BOTTOM,LEFT,RIGHT 來裝載顯示

​ 指定side=LEFT|RIGHT|TOP|BOTTOM

​ 2.grid() #以表格方式(行、列)裝載顯示。

​ 指定row, column

*** 注意:在同一個窗口(或Frame)中,直接子部件或組件的佈局方式必須統一

4. 小部件的時間處理

​ 在創建Button等可處理事件的部件時,可以在構造函數中傳入一個command屬性,屬性值是一個有效的函數或者方法名,也可以通過部件對象方式,如 playBtn['command'] = play

5.(在部件中)顯示圖片

​ img = Image.open('xxx.jpg') # img 需要轉換格式,圖片太大時,可以使用img,resize(width,height), Image.ANTIALIAS)

​ imgPhoto = ImageTk.PhotoImage(img)

​ imgLabel = Lable(image = imgPhoto)

6. 創建線程(子線程)和啓動線程(顯示歌詞的時候調用的線程)

​ tt= Thread(target=運行的函數名,args=(函數參數列表, ), kwargs= {}) # 子線程

​ tt.start() # 啓動線程,線程啓動之後,則會運行target指定的函數,當函數運行結束時,則線程也會停止,強行等待線程結束(主線程): tt.join() #阻塞當前線程的執行,一直等待(主)子線程完成,再執行下一行代碼。

7. pygame 音樂的播放

​ 1.) pygame.mixer.init() # 初始化音視頻的合成器

​ 2.) pygame.mixer.music.load(path) # 加載音樂文件

​ 3.) pygame.mixer.music.play() # 播放

​ 4.) pygame.mixer.music.pause() # 暫停

​ 5.) pygame.mixer.music.unpause() #取消暫停

​ 6). pygame.mixer.music.stop() # 停止

​ 7). pygame.mixer.music.get_pos( ) #獲取當前正在播放的位置(時間,毫秒)

​ 8). pygame.mixer.music.set_pos(ms) #設置當前播放的位置

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章