Python 技术篇-使用pygame库实现音乐播放实例演示,带漂亮小界面!

简介: Python 技术篇-使用pygame库实现音乐播放实例演示,带漂亮小界面!

pygame 库用来做游戏的,也常用来播放音乐。

pip install pygame 来安装 pygame 库。

因为 pygame 是用来做游戏的,所以界面是必须的,如果想要播放歌曲一定要有这段代码:pygame.display.set_mode() 打开界面。

import pygame
# 初始化
pygame.init()
pygame.mixer.init()
pygame.mixer.music.load('封茗囧菌 - 安娜的橱窗.mp3') # 加载歌曲
pygame.mixer.music.play() # 播放
pygame.display.set_mode([300,300])
# 设置打开界面的关闭方法,没有的话打开的界面没法关闭。
while 1:
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            sys.exit()

方法 pygame.mixer.music.play(loops,start) 两个参数可以设置循环次数和开始位置,loops 取整数,loops 是无限循环,start 的参数范围 01

方法 pygame.mixer.music.stop() 可以让音乐停止。

方法 pygame.mixer.music.set_volume() 可以用来设置声音大小,参数范围0到1。

上面简单的简短代码是介绍如何播放音乐,下面为大家展示漂亮小界面的制作。 我们界面的背景取的就是音乐的封面图片。

先来张效果图:

image.png

这篇文章 ,Python 技术篇-用 mutagen 库提取 MP3 歌曲图片,介绍了怎么获取歌曲的信息,有兴趣的同学可以了解下。

mutagen 库实现获取歌曲信息。
PIL 库实现图片尺寸转化。

import pygame
import mutagen
from PIL import Image
# 获取歌曲图片并保存
inf = mutagen.File('封茗囧菌 - 安娜的橱窗.mp3')
artwork = inf.tags['APIC:'].data # 获取歌曲封面图片
title = inf.tags["TIT2"].text[0] # 获取歌曲名
pic = title + '.jpg' # pic用于存储图片的名字
with open(pic, 'wb') as img:
    img.write(artwork)
# 播放音乐
pygame.init()
pygame.mixer.init()
pygame.mixer.music.load('封茗囧菌 - 安娜的橱窗.mp3')
pygame.mixer.music.play(loops=0,start=0)
screen=pygame.display.set_mode([300,300])
# 转化图片尺寸并保存
img_switch = Image.open(pic)
img_deal = img_switch.resize((300,300),Image.ANTIALIAS)
img_deal = img_deal.convert('RGB')
img_deal.save(pic)
# 用于把图片存放到pygame的界面中
img = pygame.image.load(pic)
screen.blit(img,(0,0))
pygame.display.update()
while 1:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()

下面展示原歌曲和中间用到的图片。

image.png

喜欢的点个赞❤吧!


目录
相关文章
|
9月前
|
存储 人工智能 测试技术
如何使用LangChain的Python库结合DeepSeek进行多轮次对话?
本文介绍如何使用LangChain结合DeepSeek实现多轮对话,测开人员可借此自动生成测试用例,提升自动化测试效率。
2136 125
如何使用LangChain的Python库结合DeepSeek进行多轮次对话?
|
9月前
|
监控 数据可视化 数据挖掘
Python Rich库使用指南:打造更美观的命令行应用
Rich库是Python的终端美化利器,支持彩色文本、智能表格、动态进度条和语法高亮,大幅提升命令行应用的可视化效果与用户体验。
868 0
|
8月前
|
数据可视化 关系型数据库 MySQL
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
本文详解基于Python的电影TOP250数据可视化大屏开发全流程,涵盖爬虫、数据存储、分析及可视化。使用requests+BeautifulSoup爬取数据,pandas存入MySQL,pyecharts实现柱状图、饼图、词云图、散点图等多种图表,并通过Page组件拖拽布局组合成大屏,支持多种主题切换,附完整源码与视频讲解。
823 4
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
|
8月前
|
传感器 运维 前端开发
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
本文解析异常(anomaly)与新颖性(novelty)检测的本质差异,结合distfit库演示基于概率密度拟合的单变量无监督异常检测方法,涵盖全局、上下文与集体离群值识别,助力构建高可解释性模型。
600 10
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
|
Python
用 Python 实现带音乐的雪花飘落雪景图
这几天很多地方陆续出现了降雪的天气,对于年内的第一场雪,大家的热情显然是比较高涨的,比如很多人顶着雪花到各种景点打卡,再比如一位东北大哥要直播卖雪送辣白菜给南方人。
507 0
|
9月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
1508 102
|
9月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
488 104
|
9月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
380 103
|
9月前
|
机器学习/深度学习 人工智能 数据挖掘
Python:现代编程的首选语言
Python:现代编程的首选语言
402 82
|
8月前
|
Python
Python编程:运算符详解
本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。
505 3

推荐镜像

更多