【代码+实例】Python播放MP3音频作为背景音乐

​   来源:百度动图

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

  经过研究终于实现啦!戳 Python画好看的星空图(唯美的背景)

  本文就教大家怎么在Python中添加音乐,让你的代码唱歌吧。

  

文章目录

      • 一、加载库
        • 1. 下载pygame
        • 2. 安装pygame
      • 二、用代码控制Python播放音乐
        • 1. 加载库并设置文件路径
        • 2. 播放音乐
      • 三、添加开关按钮
      • 四、添加背景和音乐后的星空图实例
        • 1. 最美星空图加背景树和音乐
        • 2. 最美星空图加背景森林和音乐

  

一、加载库

  
    本来准备用prompt中的pip安装pygame库,但是会报如下错误:
  
【代码+实例】Python播放MP3音频作为背景音乐_第1张图片

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

  

1. 下载pygame

  
  先从http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame下载whl文件。
  
【代码+实例】Python播放MP3音频作为背景音乐_第2张图片
  
  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-8
import 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-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唱歌”免费获取。

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

【代码+实例】Python播放MP3音频作为背景音乐_第3张图片

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

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

  

1. 最美星空图加背景树和音乐

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

  

  

2. 最美星空图加背景森林和音乐

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

  
你可能感兴趣:
用Python绘制皮卡丘
用Python绘制词云图
Python入门干货经验(免费提供资料)
用Python绘制杨紫作品集动态二维码
Python画好看的星空图(唯美的背景)
Python画好看的星空图V2版——添加背景图片和音乐

长按(扫一扫)识别上方二维码学习更多Python和建模知识,让你的学习和工作更出彩。

你可能感兴趣的:(学习python,玩转Python,用Python做有趣的事,python,pygame)