• 大小: 14.39MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-09
  • 语言: Python
  • 标签: python  

资源简介

python音乐播放器,绝对原创,可以显示歌词,但不能动态滚动

资源截图

代码片段和文件信息

from tkinter import scrolledtext 
from tkinter import filedialog
from tkinter import *
import os
import os.path
import pygame
import tkinter.messagebox
wd=Tk()
wd.title(“我的音乐播放器“)
wd.geometry(“600x600“)


###################模块开始###################################
#声明变量部分#声明变量部分#声明变量部分#声明变量部分#声明变量部分

#歌曲名字      变量
varlabelmusicname=StringVar()
varlabelmusicname.set(“歌曲名字“)

#音量大小数字  变量
varlabelVoice=StringVar()
varlabelVoice.set(“音量大小 0.0“)

#声明变量部分#声明变量部分#声明变量部分#声明变量部分#声明变量部分
###################模块结束###################################

#其他函数#其他函数#其他函数#其他函数#其他函数#其他函数#其他函数


#找到MP3 返回一个列表
def find(pathx=[]s=‘.mp3‘):  
    if not os.path.isdir(path):
        return  
    for i in os.listdir(path):
        file=os.path.join(pathi)
        
        if os.path.isdir(file):
            find(files)
            
        elif str(os.path.splitext(file)[1])==s:
            x.append(file)
    return x


#选择一个文件夹返回这个文件夹的路径
def ChoiceMusicMulu():
    global musicpath
    #获取某个文件夹下的音乐文件返回一个列表
    musicpath = filedialog.askdirectory()
    #musicpath=filedialog.askopenfilenames()#选中多个文件
    global musiclist
    musiclist=find(musicpath)
    for i in range(len(musiclist)):
        geming=os.path.split(musiclist[i])#拆分出文件名
        listboxgedan.insert(0str(geming[1]))#在listbox里面追加


#返回列表框选中的下标s (从0开始)
def xiabiao(suijing):
    indexs = listboxgedan.curselection()
    #indexs返回当前选中项的索引 返回一个只有一个元素元组(x)
    index=int(indexs[0])#取出x
    xiabiao=index#获取下标
    #get返回制定索引的项值
    varlabelmusicname.set(str(listboxgedan.get(xiabiao)))
    return xiabiao

#上一首
def upPlay():
    try:
        newxiabiao=xiabiao(1)-1
        pygame.mixer.init()
        geming=os.path.split(musiclist[len(musiclist)-newxiabiao-1])    
        pygame.mixer.music.load(musicpath+‘/‘+str(geming[1]))
        pygame.mixer.music.play(1)

        listboxgedan.select_clear(xiabiao(1))
        listboxgedan.select_set(newxiabiao)
        varlabelmusicname.set(str(listboxgedan.get(newxiabiao)))
        #显示歌词
        with open((str(musicpath+‘/‘+str(geming[1]))[:-3])+‘txt‘‘r‘)as f:
            gc=f.read()
        scr.delete(1.0 END)#先清空旧歌词
        scr.insert(ENDgc)#再加入新歌词
    except baseException as e:
        tkinter.messagebox.askquestion(title=“错误“message=“请重新点击歌曲“)
        #只要有异常就弹出
#下一首
def downPlay():
    try:
        newxiabiao=xiabiao(1)+1
        pygame.mixer.init()
        geming=os.path.split(musiclist[len(musiclist)-newxiabiao-1])    
        pygame.mixer.music.load(musicpath+‘/‘+str(geming[1]))
        pygame.mixer.music.play(1)
        
        listboxgedan.select_clear(xiabiao(1))
        listboxgedan.select_set(newxiabiao)
        varlabelmusicname.set(str(listboxgedan.get(newxiabiao)))
        #显示歌词
        with open((str(musicpath+‘/‘+str(geming[1]))[:-3])+‘txt‘‘r‘)as f:
            gc=f.read()
        scr.delete(1.0 END)#先清空旧歌词
        scr.insert(ENDgc)#再加入新歌词
    except base

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       8079  2018-11-22 07:45  不能动态显示歌词版\newMusic20181121.py

     文件        130  2018-11-25 16:27  不能动态显示歌词版\周港辉的音乐播放器使用说明.txt

     文件    2426631  2017-11-14 08:32  不能动态显示歌词版\测试音乐\张瑶 - 遇见.mp3

     文件        374  2018-11-11 22:32  不能动态显示歌词版\测试音乐\张瑶 - 遇见.txt

     文件   10517970  2018-07-19 13:13  不能动态显示歌词版\测试音乐\林宥嘉 - 全世界谁倾听你.mp3

     文件        889  2018-11-11 22:32  不能动态显示歌词版\测试音乐\林宥嘉 - 全世界谁倾听你.txt

     文件    2217844  2018-03-16 19:38  不能动态显示歌词版\测试音乐\魏晨-疯人愿.mp3

     文件       1111  2018-11-11 22:31  不能动态显示歌词版\测试音乐\魏晨-疯人愿.txt

     目录          0  2019-01-06 15:52  不能动态显示歌词版\测试音乐

     目录          0  2019-01-06 15:52  不能动态显示歌词版

----------- ---------  ---------- -----  ----

             15173028                    10


评论

共有 条评论