首先声明,我不是小黑子,我不是小黑子!

作为一个ikun,时刻都在想着我们家姐姐!

这不上次用Python做了一个ikun飞机大战,今天再给大家整活一手,Python tkinter开发一个专属ikun音乐播放器,这样就能时刻看到姐姐了。

咱们来看看效果

 

 

代码实现

今天要做的就是上面的简易音乐播放器

先导入需要用到的模块

import tkinter as tk

from pygame import mixer

import os

 

os模块是自带的,另外的两个都需要安装

做一个大小合适的窗口

root = tk.Tk()

root.title('音乐播放器')

root.geometry('440x570+200+200')

root.mainloop()

 

这样就可以得到一个大小合适的窗口,然后再上个底色和图标

root.iconbitmap('music.ico')

root['background'] = '#6175d6'

img = tk.PhotoImage(file='img\\封面.png')

tk.Label(root, image=img, bg='#6175d6').pack()

 

功能按键

frame_1 = tk.Frame(bg='#6175d6')

frame_1.pack(pady=10)

# 完整代码都放在这个抠裙了:708525271

tk.Button(frame_1, text='上一首', font=('黑体', 15), fg='#f6f5f3', bg='#6175d6', relief='flat').pack(

side=tk.LEFT)

tk.Button(frame_1, text='播放', font=('黑体', 15), fg='#f6f5f3', bg='#6175d6', relief='flat').pack(

side=tk.LEFT, padx=40)

tk.Button(frame_1, text='下一首', font=('黑体', 15), fg='#f6f5f3', bg='#6175d6', relief='flat', command=next).pack(

side=tk.LEFT)

frame_2 = tk.Frame(bg='#6175d6')

frame_2.pack(pady=10)

tk.Button(frame_2, text='音量↑', font=('黑体', 15), fg='#f6f5f3', bg='#6175d6', relief='flat'

).pack(side=tk.LEFT)

tk.Button(frame_2, text='暂停', font=('黑体', 15), fg='#f6f5f3', bg='#6175d6', relief='flat').pack(

side=tk.LEFT, padx=20)

tk.Button(frame_2, text='继续', font=('黑体', 15), fg='#f6f5f3', bg='#6175d6', relief='flat').pack(

side=tk.LEFT, padx=20)

tk.Button(frame_2, text='音量↓', font=('黑体', 15), fg='#f6f5f3', bg='#6175d6', relief='flat'

).pack(side=tk.LEFT)

 

读取音乐

完善方向是加上排序功能,music是音乐文件夹 os.listdir 打开指定文件夹获取文件夹下所有文件名称

def music_list():

lists = []

for i in os.listdir('music'):

if os.path.splitext(i)[-1] == '.mp3':

lists.append(i)

else:

pass

return lists

def name_now(): # 当前播放音乐名称

name1 = music_list()[num]

song_name = name1.split(' - ')[-1][:-4]

singer = name1.split(' - ')[0]

return name1, song_name, singer

def play():

mixer.init()

size = 0.5

name, song_name, singer = name_now()

mixer.music.set_volume(size)

mixer.music.load(f'music/{name}')

mixer.music.play()

 

按键功能

音乐暂停/取消暂停

def stop():

mixer.music.pause()

def cancel():

mixer.music.unpause()

 

切换音乐上一首

def last():

global num

mixer.init()

mixer.music.stop()

if 0 <= num <= len(music_list()) - 2:

num += 1

elif num >= len(music_list()) - 1:

num = 0

name1, song_name, singer = name_now()

song_name_va.set(f'{song_name}')

singer_va.set(f'{singer}')

play()

 

切换音乐下一首

def next():

global num

mixer.init()

mixer.music.stop()

if 0 < num <= len(music_list()) - 1:

num -= 1

elif num <= 0:

num = len(music_list()) - 1

name1, song_name, singer = name_now()

song_name_va.set(f'{song_name}')

singer_va.set(f'{singer}')

play() # place(x=20, y=550)

 

控制音乐音量增大

def soundsize_up():

global size

if -0.1 < size < 1:

size += 0.1

# print(size) # 验证音量

mixer.music.set_volume(size)

else:

size += 0

# print(size)

mixer.music.set_volume(size)

 

控制音乐音量降低

def soundsize_down():

global size

if 0 < size < 1.1:

size -= 0.1

# print(size)

mixer.music.set_volume(size)

else:

size -= 0

# print(size)

mixer.music.set_volume(size)

 

完整效果展示

 

好了,今天的分享就到这里了,ikun我要搞点别的新东西去了 ,下次见!

查看原文