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简单计算文件夹大小的方法
Jul 14 Python
Django Admin实现上传图片校验功能
Mar 06 Python
Python用sndhdr模块识别音频格式详解
Jan 11 Python
Python3.遍历某文件夹提取特定文件名的实例
Apr 26 Python
深入浅析Python传值与传址
Jul 10 Python
Python编程在flask中模拟进行Restful的CRUD操作
Dec 28 Python
Python利用scapy实现ARP欺骗的方法
Jul 23 Python
Python Tkinter模块 GUI 可视化实例
Nov 20 Python
如何给Python代码进行加密
Jan 10 Python
查看keras各种网络结构各层的名字方式
Jun 11 Python
Python多线程threading创建及使用方法解析
Jun 17 Python
python 实现学生信息管理系统的示例
Nov 28 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导出Excel的小经验 完美解决乱码问题
2013/06/10 PHP
php中explode函数用法分析
2014/11/15 PHP
php读取mssql的ntext字段返回值为空的解决方法
2014/12/30 PHP
php绘制一个矩形的方法
2015/01/24 PHP
php生成mysql的数据字典
2016/07/07 PHP
NodeJS 模块开发及发布详解分享
2012/03/07 NodeJs
JavaScript cookie的设置获取删除详解
2014/02/11 Javascript
15个jquery常用方法、小技巧分享
2015/01/13 Javascript
JavaScript数据类型检测代码分享
2015/01/26 Javascript
jQuery根据表单name获取值的方法
2016/05/24 Javascript
jQuery插件 Jqplot图表实例
2016/06/18 Javascript
AngularJS 视图详解及示例代码
2016/08/17 Javascript
jQuery图片前后对比插件beforeAfter用法示例【附demo源码下载】
2016/09/20 Javascript
javascript实现消灭星星小游戏简单版
2016/11/15 Javascript
从零开始学习Node.js系列教程之基于connect和express框架的多页面实现数学运算示例
2017/04/13 Javascript
Vue2 使用 Echarts 创建图表实例代码
2017/05/18 Javascript
对于防止按钮重复点击的尝试详解
2019/04/22 Javascript
微信小程序获取复选框全选反选选中的值(实例代码)
2019/12/17 Javascript
vue请求数据的三种方式
2020/03/04 Javascript
JavaScript实现动态留言板
2020/03/16 Javascript
Bootstrap告警框(alert)实现弹出效果和短暂显示后上浮消失的示例代码
2020/08/27 Javascript
Vue 组件的挂载与父子组件的传值实例
2020/09/02 Javascript
python使用百度翻译进行中翻英示例
2014/04/14 Python
python3序列化与反序列化用法实例
2015/05/26 Python
Python编程中使用Pillow来处理图像的基础教程
2015/11/20 Python
Python编程实现的简单Web服务器示例
2017/06/22 Python
python 日期操作类代码
2018/05/05 Python
python 梯度法求解函数极值的实例
2019/07/10 Python
Django ImageFiled上传照片并显示的方法
2019/07/28 Python
使用PyTorch将文件夹下的图片分为训练集和验证集实例
2020/01/08 Python
使用HTML和CSS3绘制基本卡通图案的示例分享
2015/11/06 HTML / CSS
HTML5 canvas实现的静态循环滚动播放弹幕
2021/01/05 HTML / CSS
The Hut英国:英国领先的豪华在线百货商店
2019/07/26 全球购物
毕业生自我鉴定范文
2013/11/08 职场文书
运动会稿件200字
2014/02/07 职场文书
苹果macOS 13开发者预览版Beta 8发布 正式版10月发布
2022/09/23 数码科技