回顾音乐播放器知识点

本文介绍了一个基于Python的音乐播放器项目,涵盖了Tkinter界面设计、pygame音乐播放库的使用、线程管理等内容。从窗口创建到各组件间的交互逻辑,详细解析了音乐播放器的开发流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,回顾音乐播放器知识点

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) #设置当前播放的位置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值