用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - python代码库

音乐播放器 2.0(窗口版)

2022-03-02 作者: mikeKil举报

[python]代码库

import pygame
import tkinter as tk
from tkinter import ttk
from tkinter import filedialog, messagebox,PhotoImage
import os
from ctypes import cast, POINTER
from comtypes import CLSCTX_ALL
from pycaw.pycaw import AudioUtilities, IAudioEndpointVolume


#获取系统音乐音量数据
devices = AudioUtilities.GetSpeakers()
interface = devices.Activate(
    IAudioEndpointVolume._iid_, CLSCTX_ALL, None)
volume = cast(interface, POINTER(IAudioEndpointVolume))
# 初始化
pygame.mixer.init()

#创建tkinter窗口
root = tk.Tk()          #窗口初始化
root.geometry("500x300")#窗口大小
root.resizable(0, 0)    #设置窗口大小无法调整
root.title("音乐播放器 2.0(窗口版)")  #标题

#设置音量为12%
musicSize = -30
volume.SetMasterVolumeLevel(musicSize, None)

#加载音乐并播放        

#暂停音乐
def stopMusic():
    pygame.mixer.music.stop()

def smallMusic(): #调小声
    try:
        global musicSize
        musicSize -= 2
        volume.SetMasterVolumeLevel(musicSize, None)
    except:
        messagebox.showwarning(title='提示', message='音量以达到最小')
    
def bigMusic(): #调大声
    try:
        global musicSize
        musicSize += 2
        volume.SetMasterVolumeLevel(musicSize, None)
    except:
        messagebox.showwarning(title='提示', message='音量以达到最大')

#从目录寻找并加载播放音乐
def findMusic():
    file = filedialog.askopenfilename(initialdir="C:/", title='Choose an Music.')
    if len(file) != 0:
        track = pygame.mixer.music.load(file)
        pygame.mixer.music.play()
    else:
        messagebox.showwarning(title='提示', message='您还没有选择歌曲哦')
        
# #以下代码用于播放gif图片
# frame = tk.Frame(root).place(relx=0.25,rely=0.25)
# numIdx = 6 # gif的帧数
# # 填充6帧内容到frames
# frames = [PhotoImage(file='./images/abc.gif', format='gif -index %i' %(i)) for i in range(numIdx)]
# def update(idx): # 定时器函数
#     frame = frames[idx]
#     idx += 1 # 下一帧的序号:在0,1,2,3,4,5之间循环(共6帧)
#     label.configure(image=frame) # 显示当前帧的图片
#     root.after(100, update, idx%numIdx) # 0.1秒(100毫秒)之后继续执行定时器函数(update)
# 
# label = tk.Label(frame)
# label.pack()
# root.after(0, update, 0) # 立即启动定时器函数(update)

#用户提示标签
tk.Label(root,text="哈喽~\n欢迎来到音乐播放器。我的朋友,您要听什么音乐?").place(relx=0.22,rely=0)
# tk.Label(root,text="歌曲列表").place(relx=0.04,rely=0.13)
# #添加样式下拉列表
# cbox_E = ttk.Combobox(root,width=26)
# #下拉选择框的内容
# cbox_E['values'] = ['请选择试听音乐','love is Gone','NUMB(网友自制)','Faded(纯音乐)','Way back','Neveda','Stay','Rise','Monsters(纯音乐版)','篝火旁','她的微笑','中华-FADED兵王','不回首','鱼','香肠派对S1赛季背景音乐']
# #下拉选择框的位置
# cbox_E.place(relx=0.04,rely=0.19)
# #设置默认列表项
# cbox_E.current(0)
# #设置下拉列表的只读模式
# cbox_E['state'] = 'readonly'
# #判断选择
# cbox_E.bind('<<ComboboxSelected>>',showMsg_E)

#按钮组件
tk.Button(root,text="   点击该按钮从目录寻找歌曲   ",bg='#AFFEEE',command=findMusic).place(relx=0.31,rely=0.18)
# tk.Button(root,text="   Start   ",bg='#AFEEEE',command=startMusic).place(relx=0.06,rely=0.44)
tk.Button(root,text="   暂停   ",bg='#AFEEEE',command=stopMusic).place(relx=0.23,rely=0.84)
tk.Button(root,text="   音量大   ",bg='#AFEEEE',command=bigMusic).place(relx=0.43,rely=0.84)
tk.Button(root,text="   音量小   ",bg='#AFEEEE',command=smallMusic).place(relx=0.63,rely=0.84)
#提示用户
messagebox.showinfo("提示", "已为您音乐音量调为12%")
root.mainloop()
        
        
        
        
        


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...