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解析模块(ConfigParser)使用方法
Dec 10 Python
python操作xml文件示例
Apr 07 Python
python实现模拟按键,自动翻页看u17漫画
Mar 17 Python
Python的Flask框架中Flask-Admin库的简单入门指引
Apr 07 Python
Python的Asyncore异步Socket模块及实现端口转发的例子
Jun 14 Python
python基础_文件操作实现全文或单行替换的方法
Sep 04 Python
Scrapy抓取京东商品、豆瓣电影及代码分享
Nov 23 Python
Python Numpy 数组的初始化和基本操作
Mar 13 Python
python scipy卷积运算的实现方法
Sep 16 Python
python基于celery实现异步任务周期任务定时任务
Dec 30 Python
在 Windows 下搭建高效的 django 开发环境的详细教程
Jul 27 Python
Python实现微信表情包炸群功能
Jan 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中养成7个面向对象的好习惯
2010/07/17 PHP
PHP中的float类型使用说明
2010/07/27 PHP
神盾加密解密教程(一)PHP变量可用字符
2014/05/28 PHP
php单例模式的简单实现方法
2016/06/10 PHP
详解PHP安装mysql.so扩展的方法
2016/12/31 PHP
PHP5.6读写excel表格文件操作示例
2019/02/26 PHP
Javascript表达式中连续的 &amp;&amp; 和 || 之赋值区别
2010/10/17 Javascript
网页防止tab键的使用快速解决方法
2013/11/07 Javascript
用Jquery实现滚动新闻
2014/02/12 Javascript
JS实现页面超时后自动跳转到登陆页面
2015/01/19 Javascript
详解AngularJS中自定义指令的使用
2015/06/17 Javascript
Jquery 效果使用详解
2015/11/23 Javascript
基于jQuery的网页影音播放器jPlayer的基本使用教程
2016/03/08 Javascript
浅析JSONP技术原理及实现
2016/06/08 Javascript
详解nodeJs文件系统(fs)与流(stream)
2018/01/24 NodeJs
详解React项目的服务端渲染改造(koa2+webpack3.11)
2018/03/19 Javascript
vue实现用户长时间不操作自动退出登录功能的实现代码
2020/07/23 Javascript
vue+Element-ui前端实现分页效果
2020/11/15 Javascript
简单分析Python中用fork()函数生成的子进程
2015/05/04 Python
tensorflow 使用flags定义命令行参数的方法
2018/04/23 Python
Python实现多进程的四种方式
2019/02/22 Python
python matplotlib画图库学习绘制常用的图
2019/03/19 Python
Python学习笔记之迭代器和生成器用法实例详解
2019/08/08 Python
Python使用扩展库pywin32实现批量文档打印实例
2020/04/09 Python
Anaconda的安装及其环境变量的配置详解
2020/04/22 Python
英国人最爱的饰品网站:Accessorize
2016/08/22 全球购物
Perfume’s Club中文官网:西班牙美妆在线零售品牌
2020/08/24 全球购物
办公室文秘岗位职责
2013/11/15 职场文书
计算机专业推荐信范文
2013/11/27 职场文书
城市轨道交通工程职业规划书范文
2014/01/18 职场文书
项目施工员岗位职责
2014/03/09 职场文书
《回乡偶书》教学反思
2014/04/12 职场文书
党支部综合考察材料
2014/05/19 职场文书
学生个人评语大全
2015/01/04 职场文书
python3实现Dijkstra算法最短路径的实现
2021/05/12 Python
Windows10安装Apache2.4的方法步骤
2022/06/25 Servers