专栏首页CSDN博客专家-小蓝枣的博客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的参数范围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()

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python 技术篇-pygame播放音乐没有声音,原因及解决办法

    加上pygame.display.set_mode()就好了,这是加载界面的意思。

    小蓝枣
  • Python 技术篇-pygame界面添加图片不显示,原因及解决办法

    小蓝枣
  • Windows 技术篇-cmd强制关闭端口、解除端口占用方法,cmd查询端口相关的进程pid并杀死进程实例演示

    可以通过 taskkill -pid 5076 -f 命令杀死进程,也可以通过任务管理器,找到对应 pid 的进程,然后直接右键结束进程即可解除端口占用。 ...

    小蓝枣
  • 【pygame系列 第二课 狮子动画 】

    python我们可以做文字版的游戏,比如猜数字游戏,21点游戏。那python可以做图形界面的游戏吗?偷偷告诉你,用pygame库就可以实现了。pygame是p...

    用户7054460
  • Python:pygame的初步使用

    4.创建窗口,pygame.display.set_mode(resolution=(0,0),flags=0,depth=0),resolution窗口大小,...

    菜菜不吃蔡
  • pygame-游戏开发学习笔记(二)–模块表与背景图样例。

    if pygame.font is None: print "The font module is not available!" exit()

    十四君
  • pygame系列_pygame的各模块叙述

    在pygame中,有很多模块,每个模块对应着不同的功能,如果我们知道这些模块是做什么的,那么,对我们的游戏开发会起到关键性的作用。

    Hongten
  • Python 使用 pygame 实现一个简单的动画

    一个会写诗的程序员
  • 16 Python 基础: 重点知识点--Pygame的基础知识梳理

    本文首发于腾讯云+社区,也可关注微信公众号【离不开的网】支持一下,就差你的关注支持了。

    小Gy
  • Pygame常用方法

    skylark

扫码关注云+社区

领取腾讯云代金券