前言
昨天是博主的一位朋友生日,除了送上大大的紅包,知道他喜歡聽音樂,特意用代碼給他寫了一個 專屬音樂播放器,今天把這個代碼也開源送給所有粉絲哦。
一、項(xiàng)目介紹
我們常用的音樂播放器,比如酷狗,QQ音樂等里面的頁面款式都是官方設(shè)定好的,使用者無法根據(jù)自己的需求更改,但是博主用代碼寫的這個 專屬音樂播放器 則不同,作為普通用戶的話,可以按照自己天馬行空的想象力更改頁面布局,背景顏色,包括播放器的名字都可以任意命名。
當(dāng)然最關(guān)鍵的是 此款播放器所占內(nèi)存非常非常小,僅有1.9KB,任何配置的電腦都可以運(yùn)行,相較于那些動輒幾十、上百兆大小的播放器而言,是不是嗨到起飛呢ヾ(??▽?)ノ。
我們先一睹為快,看看效果吧:
二、環(huán)境配置
在正式寫代碼之前,我們需要提前安裝配置好如下工具:
- 下載安裝好Python解釋器
- 下載安裝好Pycharm
- 將Python解釋器正確配置到Pycharm中
- 需要額外安裝好pygame這個三方庫
第一,我們需要安裝好Python是因?yàn)榇隧?xiàng)目是用Python語言編寫的,如果還有不會下載安裝的小伙伴,可以看博主之前的博客【百萬程序員第一步,學(xué)會Python安裝(超詳細(xì)哦)】。
第二,需要安裝好Pycharm是因?yàn)檫@是一個非常好用的寫代碼神器,我們所有的Python代碼都會在這個編輯器上編寫,如果還有不會下載安裝的小伙伴,也可以看博主之前的博客【Pycharm安裝配置詳細(xì)教程】。
第三,需要將安裝好的Python配置到Pycharm中是因?yàn)镻ycharm只可以寫代碼,但是無法把代碼翻譯成電腦能理解執(zhí)行的二進(jìn)制機(jī)器碼,所以需要將Python解釋器配置上去,這樣所有代碼寫好之后均可被解釋執(zhí)行,至于配置的詳細(xì)步驟,還有不懂的小伙伴可以參考第二條里面提到的博客,在此就不做重復(fù)贅述。
第四,我們需要額外安裝pygame這個三方庫是因?yàn)樯院蟠a中需要用到這個庫,之所以叫三方庫,顧名思義,就是第三方來源的庫,也就是Python安裝好之后本身是沒有這個庫的,需要我們額外安裝一下,具體安裝方式如下:
-
同時按下鍵盤的 Win + R 鍵打開運(yùn)行框,Win鍵就是Windows圖標(biāo)鍵
-
在運(yùn)行框中輸入 cmd 這三個字母,然后點(diǎn)擊確定,進(jìn)入黑色控制臺
-
在控制臺里面輸入如下命令,如果擔(dān)心輸錯,可以直接復(fù)制下面命令
pip install pygame -i https://mirrors.aliyun.com/pypi/simple/
-
輸入完成后,按下回車鍵(也就是Enter鍵),等待安裝完成即可,安裝成功的字樣如下圖紅框所示
三、代碼實(shí)戰(zhàn)
代碼實(shí)戰(zhàn)中有幾個部分跟大家先單獨(dú)介紹一下。
首先是我們需要引入的全部庫,如下:
import os
import pygame
import tkinter as t
from tkinter.filedialog import askdirectory
其中, os 庫是Python自帶的操作系統(tǒng)庫,不用額外安裝,作用是處理電腦中的文件及文件夾,比如創(chuàng)建、刪除、查詢等等,因?yàn)槲覀兊牟シ牌魅绻シ疟镜馗枨鸵蜷_本地文件夾讀取所有歌曲目錄,這里就需要用到 os 庫;
pygame 庫是第三方游戲庫,這個庫的作用主要是用于游戲開發(fā)中所有場景,比如動作,聲音,圖像等等。在此項(xiàng)目中的作用是加載和播放聲音,因?yàn)槲覀冏x取到歌曲之后要進(jìn)行播放、暫停等操作,所以就需要用到 pygame 庫,當(dāng)然這個庫需要額外安裝,上面我們已經(jīng)提到了。
tkinter 庫是Python自帶的視窗設(shè)計庫,不用額外安裝,作用是設(shè)計圖形界面窗口,比如我們打開任何軟件都有窗口外觀,那這些外觀元素都可以進(jìn)行設(shè)計。在項(xiàng)目中因?yàn)槲覀円约涸O(shè)計播放器窗口的名字,里面的分區(qū)大小,顏色等等,所以需要用到 tkinter 庫。
其次是播放器窗口大小和位置設(shè)計,代碼如下:
screenWidth = music_player.winfo_screenwidth()
screenHeight = music_player.winfo_screenheight()
width = 700
height = 700
left = (screenWidth - width) / 2
top = (screenHeight - height) / 2
music_player.geometry("%dx%d+%d+%d" % (width, height, left, top))
如果有小伙伴想自己更改播放器窗口大小和位置,可以更改上面代碼中的數(shù)字參數(shù)哦。
再就是播放器里面控件的樣式布局,代碼如下:
Button1 = t.Button(music_player, width=5, height=3, font="Helvetica 12 bold", text="播放", command=play, bg="SeaGreen1", fg="white")
Button2 = t.Button(music_player, width=5, height=3, font="Helvetica 12 bold", text="停止", command=stop, bg="red", fg="white")
Button3 = t.Button(music_player, width=5, height=3, font="Helvetica 12 bold", text="暫停", command=pause, bg="Orchid1", fg="white")
Button4 = t.Button(music_player, width=5, height=3, font="Helvetica 12 bold", text="取消暫停", command=unpause, bg="Yellow4", fg="white")
如果大家想按照自己喜好更換控件的樣式,就需要更改上面代碼括號里面的參數(shù)。文章來源:http://www.zghlxwxcb.cn/news/detail-791573.html
最后,附上全部代碼如下:文章來源地址http://www.zghlxwxcb.cn/news/detail-791573.html
import os
import pygame
import tkinter as t
from tkinter.filedialog import askdirectory
music_player = t.Tk()
music_player.title("小十一的專屬音樂播放器")
screenWidth = music_player.winfo_screenwidth()
screenHeight = music_player.winfo_screenheight()
width = 700
height = 700
left = (screenWidth - width) / 2
top = (screenHeight - height) / 2
music_player.geometry("%dx%d+%d+%d" % (width, height, left, top))
directory = askdirectory()
os.chdir(directory)
song_list = os.listdir()
play_list = t.Listbox(music_player, font="Helvetica 12 bold", bg='SkyBlue1', selectmode=t.SINGLE)
for item in song_list:
pos = 0
play_list.insert(pos, item)
pos += 1
pygame.init()
pygame.mixer.init()
# 播放
def play():
pygame.mixer.music.load(play_list.get(t.ACTIVE))
var.set(play_list.get(t.ACTIVE))
pygame.mixer.music.play()
# 停止
def stop():
pygame.mixer.music.stop()
# 暫停
def pause():
pygame.mixer.music.pause()
# 取消暫停
def unpause():
pygame.mixer.music.unpause()
Button1 = t.Button(music_player, width=5, height=3, font="Helvetica 12 bold", text="播放", command=play, bg="SeaGreen1", fg="white")
Button2 = t.Button(music_player, width=5, height=3, font="Helvetica 12 bold", text="停止", command=stop, bg="red", fg="white")
Button3 = t.Button(music_player, width=5, height=3, font="Helvetica 12 bold", text="暫停", command=pause, bg="Orchid1", fg="white")
Button4 = t.Button(music_player, width=5, height=3, font="Helvetica 12 bold", text="取消暫停", command=unpause, bg="Yellow4", fg="white")
var = t.StringVar()
song_title = t.Label(music_player, font="Helvetica 12 bold", textvariable=var)
song_title.pack()
Button1.pack(fill="x")
Button2.pack(fill="x")
Button3.pack(fill="x")
Button4.pack(fill="x")
play_list.pack(fill="both", expand="yes")
music_player.mainloop()
到了這里,關(guān)于用Python制作你的專屬音樂播放器(此刻浪漫只屬于你哦*′▽`*)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!