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 MD5文件生成码
Jan 12 Python
Python的类实例属性访问规则探讨
Jan 30 Python
python制作websocket服务器实例分享
Nov 20 Python
python 筛选数据集中列中value长度大于20的数据集方法
Jun 14 Python
解决Python selenium get页面很慢时的问题
Jan 30 Python
Python叠加两幅栅格图像的实现方法
Jul 05 Python
基于python框架Scrapy爬取自己的博客内容过程详解
Aug 05 Python
Python 点击指定位置验证码破解的实现代码
Sep 11 Python
用python解压分析jar包实例
Jan 16 Python
Tensorflow全局设置可见GPU编号操作
Jun 30 Python
详解Django中 render() 函数的使用方法
Apr 22 Python
Python中json.dumps()函数的使用解析
May 17 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 生成唯一id的几种解决方法
2013/03/08 PHP
通过curl模拟post和get方式提交的表单类
2014/04/23 PHP
Yii框架分页实现方法详解
2017/05/20 PHP
TP3.2框架分页相关实现方法分析
2020/06/03 PHP
初学prototype,发个JS接受URL参数的代码
2006/09/25 Javascript
Js callBack 返回前一页的js方法
2008/11/30 Javascript
2014最热门的JavaScript代码高亮插件推荐
2014/11/25 Javascript
jQuery+PHP实现可编辑表格字段内容并实时保存
2015/10/09 Javascript
浅析JavaScript 调试方法和技巧
2015/10/22 Javascript
图文详解JavaScript的原型对象及原型链
2016/08/02 Javascript
jQuery.uploadify文件上传组件实例讲解
2016/09/23 Javascript
JavaScript实现简单的日历效果
2016/09/25 Javascript
BootStrap按钮标签及基本样式
2016/11/23 Javascript
JS编写函数实现对身份证号码最后一位的验证功能
2016/12/29 Javascript
Vue.js上下滚动加载组件的实例代码
2017/07/17 Javascript
Angular4.0中引入laydate.js日期插件的方法教程
2017/12/25 Javascript
Vue 页面跳转不用router-link的实现代码
2018/04/12 Javascript
JavaScript常见继承模式实例小结
2019/01/11 Javascript
Vue-cli3.x + axios 跨域方案踩坑指北
2019/07/04 Javascript
Vue SSR 即时编译技术的实现
2020/05/06 Javascript
解析Python中的变量、引用、拷贝和作用域的问题
2015/04/07 Python
python opencv检测目标颜色的实例讲解
2018/04/02 Python
python保存文件方法小结
2018/07/27 Python
解决python "No module named pip" 的问题
2018/10/13 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
2020/01/06 Python
Python偏函数Partial function使用方法实例详解
2020/06/17 Python
windows支持哪个版本的python
2020/07/03 Python
django form和field具体方法和属性说明
2020/07/09 Python
PatPat阿根廷:妈妈们的购物平台
2019/05/30 全球购物
服装行业创业计划书范文
2014/02/05 职场文书
销售员求职个人的自我评价
2014/02/19 职场文书
8和9的加减法教学反思
2014/05/01 职场文书
工作总结与自我评价
2014/09/18 职场文书
文案策划岗位职责
2015/02/11 职场文书
会议主持词通用版
2019/04/02 职场文书
python缺失值的解决方法总结
2021/06/09 Python