首先聲明,我不是小黑子,我不是小黑子! 作為一個ikun,時刻都在想著我們家姐姐! 這不上次用Python做了一個ikun飛機大戰,今天再給大家整活一手,Python tkinter開發一個專屬ikun音樂播放器,這樣就能時刻看到姐姐了。 咱們來看看效果 代碼實現 今天要做的就是上面的簡易音樂播放器 ...
首先聲明,我不是小黑子,我不是小黑子!
作為一個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我要搞點別的新東西去了 ,下次見!