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 的参数范围 0 到 1。
方法 pygame.mixer.music.stop()
可以让音乐停止。
方法 pygame.mixer.music.set_volume()
可以用来设置声音大小,参数范围0到1。
上面简单的简短代码是介绍如何播放音乐,下面为大家展示漂亮小界面的制作。 我们界面的背景取的就是音乐的封面图片。
先来张效果图:
这篇文章 ,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()
下面展示原歌曲和中间用到的图片。
喜欢的点个赞❤吧!