ITPub博客

首页 > 数据库 > 数据库开发技术 > 你的Python会唱歌吗?

你的Python会唱歌吗?

原创 数据库开发技术 作者:阿黎逸阳的代码 时间:2020-05-04 20:20:23 0 删除 编辑
阿黎逸阳

  精选Python、SQL、R、MATLAB等相关知识,让你的学习和工作更出彩(可提供风控建模干货经验)。


还记得之前发表的3D星空图吗?一直想给喜欢的星空图加上背景图片和音乐。

经过研究终于实现啦!

本文就教大家怎么在Python中添加音乐,让你的代码唱歌吧。
先来听下本文要用Python添加的星空音乐。


本文目录

  1. 加载库

    1.1 下载pygame

    1.2 安装pygame

  2. 用代码控制Python播放音乐

    2.1 加载库并设置路径

    2.2 播放音乐

  3. 添加开关按钮

  4. 添加音乐后的星空图实例


一、加载库

本来准备用prompt中的pip安装pygame库,但是会报如下错误:


So,决定自己手动下载安装。


 1  下载pygame
先从网上下载whl文件。

cp27代表python2.7版本,win32代表32位操作系统。我的是python3.7,系统是64位,所以我下载的是pygame-1.9.6-cp37-cp37m-win_amd64.whl。

 2  安装pygame

step1—> 在存放whl的文件夹中按shift+右键,调出cmd(点击OpenCmdHere)。
step2—> 在cmd中输入:pip install pygame-1.9.6-cp37-cp37m-win_amd64.whl。
等待一会就可以成功安装pygame库,如果已经安装好,cmd中会出现如下返回语句。

step3—> 检验是否安装成功。在Python或jupyter中输入import pygame出现如下返回语句就说明安装成功啦。


二、用代码控制Python播放音乐

 1  加载库并设置文件路径

# coding: utf-8import pygame   #导入可以加载音乐的库import os       #导入设置路径的库
os.chdir('F:/微信公众号/Python/29.加载音乐') #把路径改为数据存放的路径os.getcwd() #看下当前路径

 2  播放音乐

本段代码可以在Python中实现简单的音乐播放功能,并设定慢慢淡化并退出音乐的语句。
pygame.mixer.init()                           # 初始化track = pygame.mixer.music.load('星空.mp3')   # 加载音乐文件pygame.mixer.music.play()                     # 开始播放音乐流pygame.mixer.music.fadeout(60000)             # 设置音乐多久慢慢淡出结束

注:如需星空音乐文件实现该代码,可在公众号中回复“星空音乐”免费获取。


三、添加开关按钮

如果Python正在播放音乐,但我想先暂停一下,怎么办?

接下来的代码可以实现这个功能。
# coding: utf-8import pygame   #导入可以加载音乐的库import os       #导入设置路径的库import sysfrom pygame.locals import *

os.chdir('F:/微信公众号/Python/29.加载音乐') #把路径改为数据存放的路径os.getcwd() #看下当前路径pygame.init() # pygame初始化pygame.mixer.init() #pygame.mixer初始化 pygame.mixer.music.load("星空.mp3") # 设置背景音乐#pygame.mixer.music.set_volume(0.4) # 设置音量pygame.mixer.music.play() # 播放音乐
bg_size = width, height = 300, 200 # 设置界面窗口bg_rgb = (255, 255, 255)screen = pygame.display.set_mode(bg_size)pygame.display.set_caption("星空音乐")clock = pygame.time.Clock() # 创建设置帧率对象
play_image = pygame.image.load("开始和暂停按钮2.png").convert_alpha() # 创建播放图片surface对象pause_image = pygame.image.load("开始和暂停按钮2.png").convert_alpha() # 创建暂停图片surface对象
pause_rect = pause_image.get_rect() # 获取播放矩形框print(pause_rect.width,pause_rect.height) # 获取暂停矩形框pause_rect.left, pause_rect.top = (width - pause_rect.width) // 2, (height - pause_rect.height) // 2
pause = False # 定义播放标志位 while True: # 查找队列事件 for event in pygame.event.get(): # 查找点击关闭窗口事件 if event.type == QUIT: sys.exit() # 查找鼠标左右击事件 if event.type == MOUSEBUTTONDOWN: # 检测鼠标左击是否按下 if event.button == 1: pause = not pause # 检测鼠标右击是否按下 if event.button == 3: pause = not pause # 检测键是否按下 if event.type == KEYDOWN: # 检测是否为空格键按下 if event.key == K_SPACE: pause = not pause # 填充界面背景 screen.fill(bg_rgb) # 空格控制播放和暂停,并显示相应的图片 if pause: pygame.mixer.music.pause() screen.blit(pause_image, pause_rect) else: pygame.mixer.music.unpause() screen.blit(play_image, pause_rect) # 刷新缓冲区图像 pygame.display.flip() # 控制帧率为30帧  clock.tick(30)

注:如需实现上述代码中的文件,可在公众号中回复“Python唱歌”免费获取。

运行该代码电脑桌面会出现一个如下所示的开关界面:

点击该界面可以暂停音乐,再点击一下可以重新播放。


四、添加音乐后的星空图实例

 1  实例1

树影婆娑下的星空,一切都显得静谧,万里星空,又在诉说着谁的思念?


 2  实例2
万千森林,只寻一处幽香。星河滚烫,你是人间理想。


有需要的小伙伴快给你的Python添加音乐功能吧。感觉表白的文件加上音乐会更浪漫呀!



往期回顾:
3D星空图
用python绘制皮卡丘
娱乐圈排行榜动态条形图绘制


欢迎扫一扫联系

19967879837

我的微信号、手机号

“转发与在看是更好的支持”

原文作者:阿黎逸阳的代码;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2020-02-15

  • 博文量
    282
  • 访问量
    130884