前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >你的Python会唱歌吗?

你的Python会唱歌吗?

作者头像
阿黎逸阳
发布2020-09-07 23:58:59
1.2K0
发布2020-09-07 23:58:59
举报

本文目录

  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 加载库并设置文件路径

代码语言:javascript
复制
# coding: utf-8
import pygame   #导入可以加载音乐的库
import os       #导入设置路径的库

os.chdir('F:/微信公众号/Python/29.加载音乐')  #把路径改为数据存放的路径
os.getcwd()    #看下当前路径

2 播放音乐

本段代码可以在Python中实现简单的音乐播放功能,并设定慢慢淡化并退出音乐的语句。

代码语言:javascript
复制
pygame.mixer.init()                           # 初始化
track = pygame.mixer.music.load('星空.mp3')   # 加载音乐文件
pygame.mixer.music.play()                     # 开始播放音乐流
pygame.mixer.music.fadeout(60000)             # 设置音乐多久慢慢淡出结束

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

三、添加开关按钮

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

接下来的代码可以实现这个功能。

代码语言:javascript
复制
# coding: utf-8
import pygame   #导入可以加载音乐的库
import os       #导入设置路径的库
import sys
from 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添加音乐功能吧。感觉表白的文件加上音乐会更浪漫呀!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 阿黎逸阳的代码 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档