首页 > 数据库 > 数据库开发技术 > 你的Python会唱歌吗?
还记得之前发表的3D星空图吗?一直想给喜欢的星空图加上背景图片和音乐。
经过研究终于实现啦
!
。本文目录
加载库
1.1 下载pygame
1.2 安装pygame
用代码控制Python播放音乐
2.1 加载库并设置路径
2.2 播放音乐
添加开关按钮
添加音乐后的星空图实例
一、加载库

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

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

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

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


1 加载库并设置文件路径
# coding: utf-8import pygame #导入可以加载音乐的库import os #导入设置路径的库os.chdir('F:/微信公众号/Python/29.加载音乐') #把路径改为数据存放的路径os.getcwd() #看下当前路径
2 播放音乐
pygame.mixer.init() # 初始化track = pygame.mixer.music.load('星空.mp3') # 加载音乐文件pygame.mixer.music.play() # 开始播放音乐流pygame.mixer.music.fadeout(60000) # 设置音乐多久慢慢淡出结束
注:如需星空音乐文件实现该代码,可在公众号中回复“星空音乐”免费获取。

如果Python正在播放音乐,但我想先暂停一下,怎么办?
import pygameimport osimport sysfrom pygame.locals import *os.chdir('F:/微信公众号/Python/29.加载音乐')os.getcwd()pygame.init()pygame.mixer.init()pygame.mixer.music.load("星空.mp3")pygame.mixer.music.play()bg_size = width, height = 300, 200bg_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()pause_image = pygame.image.load("开始和暂停按钮2.png").convert_alpha()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) // 2pause = Falsewhile True:for event in pygame.event.get():if event.type == QUIT:sys.exit()if event.type == MOUSEBUTTONDOWN:if event.button == 1:pause = not pauseif event.button == 3:pause = not pauseif event.type == KEYDOWN:if event.key == K_SPACE:pause = not pausescreen.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()clock.tick(30)
注:如需实现上述代码中的文件,可在公众号中回复“Python唱歌”免费获取。
运行该代码电脑桌面会出现一个如下所示的开关界面:

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

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


欢迎扫一扫联系
19967879837
我的微信号、手机号
原文作者:阿黎逸阳的代码;如有侵权,请联系管理员删除。