汽车知识
  • 车载音乐
  • 车载视频
  • LRC歌词
  • 高清简谱
  • 手机铃声
  • 名人简介
  • 汽车知识
当前位置:首页 - 文章 - 背景音乐 - 【代码+实例】Python播放MP3音频作为背景音乐

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

所属分类:背景音乐
1
2024-10-07

还记得之前发表的3D星空图吗?一直想给喜欢的星空图加上背景图片和音乐。经过研究终于实现啦!戳 Python画好看的星空图(唯美的背景)。

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

文章目录

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


一、加载库

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

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

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

1. 下载pygame

先从http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame下载whl文件。

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

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中会出现如下返回语句。

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

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

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

二、用代码控制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音频作为背景音乐

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

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

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

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

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

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

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

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

你可能感兴趣:

用Python绘制皮卡丘_python_阿黎逸阳的博客-CSDN博客Python画好看的星空图(唯美的背景)_python_阿黎逸阳的博客-CSDN博客Python画最美星空(唯美的背景和悠扬的音乐)_python_阿黎逸阳的博客-CSDN博客用Python绘制词云图--表白为我们拼过命的白衣天使_python_阿黎逸阳的博客-CSDN博客用Python绘制杨紫作品集动态二维码_python_阿黎逸阳的博客-CSDN博客

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

关于我们联系我们下载帮助免责声明版权声明用户协议隐私协议撤稿声明作品投搞免费下载常见问题网站地图

声明:本站内容信息全部来自于网络搜索结果,不保证100%准确性,仅供参考,如侵犯到您的权益,请提供版权证明来信通知,我们72小时内删除!

我们免费提供百科知识在线搜索等服务,本站为非赢利性网站 不接受任何赞助和广告!

删稿邮箱: zhdjxd@foxmail.com

Copyright @ 2023-2024 pc.pingguodj.com All Rights Reserved