python实现音乐播放器 python实现花框音乐盒子


Posted in Python onFebruary 25, 2020

本文实例为大家分享了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()

python实现音乐播放器 python实现花框音乐盒子

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
解决pycharm界面不能显示中文的问题
May 23 Python
解决Shell执行python文件,传参空格引起的问题
Oct 30 Python
对pandas中iloc,loc取数据差别及按条件取值的方法详解
Nov 06 Python
对Python中DataFrame选择某列值为XX的行实例详解
Jan 29 Python
python关于变量名的基础知识点
Mar 03 Python
opencv python在视屏上截图功能的实现
Mar 05 Python
关于win10在tensorflow的安装及在pycharm中运行步骤详解
Mar 16 Python
基于Django OneToOneField和ForeignKey的区别详解
Mar 30 Python
Python 如何实现数据库表结构同步
Sep 29 Python
一劳永逸彻底解决pip install慢的办法
May 24 Python
自动在Windows中运行Python脚本并定时触发功能实现
Sep 04 Python
python可视化大屏库big_screen示例详解
Nov 23 Python
python+selenium+PhantomJS抓取网页动态加载内容
Feb 25 #Python
python numpy生成等差数列、等比数列的实例
Feb 25 #Python
信号生成及DFT的python实现方式
Feb 25 #Python
Pycharm远程连接服务器并实现代码同步上传更新功能
Feb 25 #Python
python生成任意频率正弦波方式
Feb 25 #Python
python numpy库linspace相同间隔采样的实现
Feb 25 #Python
Pandas时间序列:时期(period)及其算术运算详解
Feb 25 #Python
You might like
PHP目录操作实例总结
2016/09/27 PHP
jQuery AJAX回调函数this指向问题
2010/02/08 Javascript
23个超流行的jQuery相册插件整理分享
2011/04/25 Javascript
JS获得URL超链接的参数值实例代码
2013/06/21 Javascript
解析Javascript中难以理解的11个问题
2013/12/09 Javascript
网页广告中JS代码的信息监听示例
2014/04/02 Javascript
JS中的form.submit()不能提交表单的错误原因
2014/10/08 Javascript
nodejs爬虫抓取数据乱码问题总结
2015/07/03 NodeJs
JavaScript定义数组的三种方法(new Array(),new Array('x','y')
2016/10/04 Javascript
利用fecha进行JS日期处理
2016/11/21 Javascript
javascript实现table单元格点击展开隐藏效果(实例代码)
2017/04/10 Javascript
React学习笔记之高阶组件应用
2018/06/02 Javascript
如何手动实现es5中的bind方法详解
2018/12/07 Javascript
微信小程序-可移动菜单的实现过程详解
2019/06/24 Javascript
Vue 中使用富文本编译器wangEditor3的方法
2019/09/26 Javascript
js实现查询商品案例
2020/07/22 Javascript
jQuery实现简单评论功能
2020/08/19 jQuery
js将日期格式转换为YYYY-MM-DD HH:MM:SS
2020/09/18 Javascript
python写的一个文本编辑器
2014/01/23 Python
Python for Informatics 第11章 正则表达式(一)
2016/04/21 Python
Python正则表达式实现截取成对括号的方法
2017/01/06 Python
Python实现的手机号归属地相关信息查询功能示例
2017/06/08 Python
Python解析Excle文件中的数据方法
2018/10/23 Python
Python paramiko模块使用解析(实现ssh)
2019/08/30 Python
python tkinter GUI绘制,以及点击更新显示图片代码
2020/03/14 Python
Django使用django-simple-captcha做验证码的实现示例
2021/01/07 Python
基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码
2021/02/18 Python
俄罗斯最大的香水和化妆品网上商店:Randewoo
2020/11/05 全球购物
本科生详细的自我评价
2013/09/19 职场文书
教师自荐信范文
2013/12/09 职场文书
学习十八大报告感言
2014/02/04 职场文书
导游个人求职信范文
2014/03/23 职场文书
党员群众路线学习心得体会
2014/11/04 职场文书
家长给老师的感谢信
2015/01/20 职场文书
html输入两个数实现加减乘除功能
2021/07/01 HTML / CSS
vscode中使用npm安装babel的方法
2021/08/02 Javascript