常春岛资源网 Design By www.syssdc.com
本文实例为大家分享了python实现音乐播放器的具体代码,供大家参考,具体内容如下
"""这是一个用海龟画图模块和pygame的混音模块制作的简易播放器。
作者:李兴球,日期:2018/8/26"""
from turtle import *
def init_screen():
"""初始化屏幕"""
screen = Screen()
screen.setup(width,height)
screen.bgpic("舞台.png")
screen.title(gametitle)
screen.delay(0)
return screen
def init_mixer():
"""初始化混音器,注意在函数内部导入的模块的作用范围"""
have_pygame = False
try:
import pygame
pygame.mixer.init()
have_pygame = True
except:
pygame = None
return have_pygame ,pygame
class Button(Turtle):
"""按钮类,每个按钮有两张图片,自带音乐"""
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 # 造型初始索引号
self.shape(self.costume_list[self.costume_index]) # 设置造型为索引为0的图
self.goto(x,y)
self.width = width
self.height = height
self.left = x - width/2 # 左边x坐标
self.right = x + width/2 # 右边x坐标
self.top = y + height/2 # 上边y坐标
self.bottom = y - height/2 # 下边y坐标
self.music = music
self.showturtle()
self.onclick(self.play) # 单击按钮调用play方法
def play(self,x,y):
"""先停止音乐再播放音乐"""
pygame.mixer.music.stop() # 停止正在播放的音乐
pygame.mixer.music.load(self.music)
screen.title(gametitle + ",正在播放:" + self.music)
pygame.mixer.music.play(-1,0) # -1表示循环播放,0表示从头开始播放
def onmousemove(self,event):
"""判断鼠标指针是否在按钮坐标范围内"""
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 (纯音乐).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 = "花框音乐盒"
width,height = 800,600
screen = init_screen()
mixer_success,pygame = init_mixer()
if mixer_success:
print("成功初始化混音器。")
else:
print("初始化混音器出现问题。")
make_button()
screen.mainloop()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
常春岛资源网 Design By www.syssdc.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
常春岛资源网 Design By www.syssdc.com
暂无评论...
更新日志
2025年11月05日
2025年11月05日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]
