前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 技术篇-使用pygame库实现音乐播放实例演示,带漂亮小界面!

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

作者头像
小蓝枣
发布2022-05-07 17:13:25
710
发布2022-05-07 17:13:25
举报

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

pip install pygame 来安装 pygame 库。

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

代码语言:javascript
复制
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。

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

先来张效果图:

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

mutagen 库实现获取歌曲信息。

PIL 库实现图片尺寸转化。

代码语言:javascript
复制
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()

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档