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 相关文章推荐
python从入门到精通(DAY 2)
Dec 20 Python
Python实现PS图像调整之对比度调整功能示例
Jan 26 Python
python3如何将docx转换成pdf文件
Mar 23 Python
numpy返回array中元素的index方法
Jun 27 Python
Python标准库shutil用法实例详解
Aug 13 Python
python将txt文件读取为字典的示例
Dec 22 Python
详解Python静态网页爬取获取高清壁纸
Apr 23 Python
Window10下python3.7 安装与卸载教程图解
Sep 30 Python
使用Tensorboard工具查看Loss损失率
Feb 15 Python
基于python实现地址和经纬度转换
May 19 Python
Python迭代器协议及for循环工作机制详解
Jul 14 Python
Elasticsearch py客户端库安装及使用方法解析
Sep 14 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
关于Sphinx创建全文检索的索引介绍
2013/06/25 PHP
php弹出对话框实现重定向代码
2014/01/23 PHP
动态加载js的几种方法
2006/10/23 Javascript
使用JavaScript switch case 另类写法
2010/03/14 Javascript
js本身的局限性 别让javascript做太多事
2010/03/23 Javascript
NodeJS Express框架中处理404页面一个方式
2014/05/28 NodeJs
基于socket.io和node.js搭建即时通信系统
2014/07/30 Javascript
js控制多图左右滚动切换效果代码分享
2015/08/26 Javascript
JavaScript中Boolean对象的属性解析
2015/10/21 Javascript
JavaScript检查子字符串是否在字符串中的方法
2016/02/03 Javascript
jquery自适应布局的简单实例
2016/05/28 Javascript
Vue组件BootPage实现简单的分页功能
2016/09/12 Javascript
基于JS分页控件实现简单美观仿淘宝分页按钮效果
2016/11/07 Javascript
vue-router单页面路由
2017/06/17 Javascript
javascript字体颜色控件的开发 JS实现字体控制
2017/11/27 Javascript
jquery实现侧边栏左右伸缩效果的示例
2017/12/19 jQuery
js实现鼠标点击页面弹出自定义文字效果
2019/12/24 Javascript
JavaScript设计模式--桥梁模式引入操作实例分析
2020/05/23 Javascript
使用Python脚本对Linux服务器进行监控的教程
2015/04/02 Python
Python的条件语句与运算符优先级详解
2015/10/13 Python
Python提取Linux内核源代码的目录结构实现方法
2016/06/24 Python
Python 查看文件的编码格式方法
2017/12/21 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
2018/04/18 Python
Python之修改图片像素值的方法
2019/07/03 Python
python raise的基本使用
2020/09/10 Python
关于运动会的口号
2014/06/07 职场文书
退休党员个人对照检查材料思想汇报
2014/09/29 职场文书
离婚协议书包括哪些内容
2014/10/16 职场文书
关于运动会的广播稿50字
2014/10/17 职场文书
产品质量保证书范本
2015/02/27 职场文书
建党伟业电影观后感
2015/06/01 职场文书
战马观后感
2015/06/08 职场文书
大学生村官驻村工作心得体会
2016/01/23 职场文书
2016年中学法制宣传日活动总结
2016/04/01 职场文书
关于React Native 无法链接模拟器的问题
2021/06/21 Javascript
自动在Windows中运行Python脚本并定时触发功能实现
2021/09/04 Python