溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python實(shí)現(xiàn)音樂(lè)播放器 python實(shí)現(xiàn)花框音樂(lè)盒子

發(fā)布時(shí)間:2020-09-10 12:28:29 來(lái)源:腳本之家 閱讀:141 作者:李興球 欄目:開(kāi)發(fā)技術(shù)

本文實(shí)例為大家分享了python實(shí)現(xiàn)音樂(lè)播放器的具體代碼,供大家參考,具體內(nèi)容如下

"""這是一個(gè)用海龜畫(huà)圖模塊和pygame的混音模塊制作的簡(jiǎn)易播放器。
作者:李興球,日期:2018/8/26"""
 
from turtle import *
 
def init_screen():
 """初始化屏幕"""
 screen = Screen()
 screen.setup(width,height)
 screen.bgpic("舞臺(tái).png")
 screen.title(gametitle)
 screen.delay(0)
 return screen
 
def init_mixer():
 """初始化混音器,注意在函數(shù)內(nèi)部導(dǎo)入的模塊的作用范圍"""
 have_pygame = False
 try:
 import pygame
 pygame.mixer.init()
 have_pygame = True
 except:
 pygame = None
 return have_pygame ,pygame
 
class Button(Turtle):
 """按鈕類,每個(gè)按鈕有兩張圖片,自帶音樂(lè)"""
 
 def __init__(self,costume_list,x,y,music,width,height):
 Turtle.__init__(self,visible=False)
 self.penup()
 self.costume_list = costume_list # 造型列表
 self.costume_index = 0  # 造型初始索引號(hào)
 self.shape(self.costume_list[self.costume_index]) # 設(shè)置造型為索引為0的圖
 self.goto(x,y)
 self.width = width
 self.height = height
 self.left = x - width/2 # 左邊x坐標(biāo)
 self.right = x + width/2 # 右邊x坐標(biāo)
 self.top = y + height/2 # 上邊y坐標(biāo)
 self.bottom = y - height/2 # 下邊y坐標(biāo)
 self.music = music  
 self.showturtle()
 self.onclick(self.play) # 單擊按鈕調(diào)用play方法
 
 def play(self,x,y):
 """先停止音樂(lè)再播放音樂(lè)"""
 pygame.mixer.music.stop()  # 停止正在播放的音樂(lè)
 pygame.mixer.music.load(self.music)
 screen.title(gametitle + ",正在播放:" + self.music)
 pygame.mixer.music.play(-1,0) # -1表示循環(huán)播放,0表示從頭開(kāi)始播放
 
 def onmousemove(self,event):
 """判斷鼠標(biāo)指針是否在按鈕坐標(biāo)范圍內(nèi)"""
 pass
 
def make_button():
 """加載資源,生成播放按鈕"""
 c1_list = ("Losing_Sleep0.gif","Losing_Sleep1.gif")
 [screen.addshape(image) for image in c1_list]
 music1 = "Alan Walker - Losing Sleep.mp3"
 b1 = Button(c1_list,-250,0,music1,200,150)
 screen.cv.bind("<Motion>",b1.onmousemove,add=True)
 
 c2_list = ("和蘭花在一起0.gif","和蘭花在一起1.gif")
 [screen.addshape(image) for image in c2_list]
 music2 = "Yanni - With An Orchid.mp3"
 b2 = Button(c2_list,00,0,music2,200,150)
 screen.cv.bind("<Motion>",b2.onmousemove,add=True)
 
 c3_list = ("Faded0.gif","Faded1.gif")
 [screen.addshape(image) for image in c3_list]
 music3 = "Alan Walker - Faded (純音樂(lè)).wav"
 b3 = Button(c3_list,250,0,music3,200,150)
 screen.cv.bind("<Motion>",b3.onmousemove,add=True)
 
 c4_list = ("蘭貴人0.gif","蘭貴人1.gif")
 [screen.addshape(image) for image in c4_list]
 music4 = "胡偉立-蘭貴人.mp3"
 b4 = Button(c4_list,-250,-200,music4,200,150)
 screen.cv.bind("<Motion>",b4.onmousemove,add=True)
 
 c5_list = ("Spectre0.gif","Spectre1.gif")
 [screen.addshape(image) for image in c5_list]
 music5 = "Alan Walker - Spectre.mp3"
 b5 = Button(c5_list,0,-200,music5,200,150)
 screen.cv.bind("<Motion>",b5.onmousemove,add=True)
 
 c6_list = ("新古典主義0.gif","新古典主義1.gif")
 [screen.addshape(image) for image in c6_list]
 music6 = "新古典主義-組曲.mp3"
 b6 = Button(c6_list,250,-200,music6,200,150)
 screen.cv.bind("<Motion>",b6.onmousemove,add=True)
 
 
if __name__ == "__main__":
 
 gametitle = "花框音樂(lè)盒"
 width,height = 800,600
 screen = init_screen()
 mixer_success,pygame = init_mixer()
 if mixer_success:
 print("成功初始化混音器。")
 else:
 print("初始化混音器出現(xiàn)問(wèn)題。")
 make_button()
 screen.mainloop()

python實(shí)現(xiàn)音樂(lè)播放器 python實(shí)現(xiàn)花框音樂(lè)盒子

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI