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的Tornado框架异步编程入门实例
Apr 24 Python
Python字符串格式化
Jun 15 Python
深入理解Python对Json的解析
Feb 14 Python
Python 爬虫之超链接 url中含有中文出错及解决办法
Aug 03 Python
Python实现列表删除重复元素的三种常用方法分析
Nov 24 Python
详解用Python为直方图绘制拟合曲线的两种方法
Aug 21 Python
python对象转字典的两种实现方式示例
Nov 07 Python
Python实现搜索算法的实例代码
Jan 02 Python
Tensorflow中的图(tf.Graph)和会话(tf.Session)的实现
Apr 22 Python
python statsmodel的使用
Dec 21 Python
基于python+selenium自动健康打卡的实现代码
Jan 13 Python
Python使用protobuf序列化和反序列化的实现
May 19 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
香妃
2021/03/03 冲泡冲煮
利用PHP实现图片等比例放大和缩小的方法详解
2013/06/06 PHP
php 判断字符串中是否包含html标签
2014/02/17 PHP
ThinkPHP多语言支持与多模板支持概述
2014/08/22 PHP
php常用数学函数汇总
2014/11/21 PHP
firefox下input type=&quot;file&quot;的size是多大
2011/10/24 Javascript
javaScript如何生成xmlhttp
2013/12/16 Javascript
简体中文转换繁体中文(实现代码)
2013/12/25 Javascript
jquery简单实现网页层的展开与收缩效果
2015/08/07 Javascript
jquery获取css的color值返回RGB的方法
2015/12/18 Javascript
NodeJS的Promise的用法解析
2016/05/05 NodeJs
Javascript json object 与string 相互转换的简单实现
2016/09/27 Javascript
微信js-sdk界面操作接口用法示例
2016/10/12 Javascript
jQuery仿IOS弹出框插件
2017/02/18 Javascript
Vue响应式原理详解
2017/04/18 Javascript
vue.js实例对象+组件树的详细介绍
2017/10/20 Javascript
vue 运用mock数据的示例代码
2017/11/07 Javascript
微信小程序数据统计和错误统计的实现方法
2019/06/26 Javascript
JS防抖和节流实例解析
2019/09/24 Javascript
Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作
2018/04/20 Python
Django使用paginator插件实现翻页功能的实例
2018/10/24 Python
Python实战购物车项目的实现参考
2019/02/20 Python
python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
2019/10/06 Python
Python autoescape标签用法解析
2020/01/17 Python
Python爬虫爬取、解析数据操作示例
2020/03/27 Python
python上传时包含boundary时的解决方法
2020/04/08 Python
基于K.image_data_format() == 'channels_first' 的理解
2020/06/29 Python
浅析python实现动态规划背包问题
2020/12/31 Python
尤为Wconcept中国官网:韩国设计师品牌服饰
2019/01/10 全球购物
意大利消费电子产品购物网站:SLG Store
2019/12/26 全球购物
测试工程师职业规划书
2014/02/06 职场文书
大学生个人实习的自我评价
2014/02/15 职场文书
2014年端午节活动方案
2014/03/11 职场文书
大学生党员学习焦裕禄精神思想汇报
2014/09/10 职场文书
小学科学课教学反思
2016/02/23 职场文书
如何书写你的职业生涯规划书?
2019/06/27 职场文书