基於 Pygame 自制一個背景優美的 MP3 播放器

今天咱們來動手作一個小項目,基於 Pygame 來實現一個 MP3 播放器,雖然當前項目還比較簡陋,可是這就是咱們前進的第一步!app


圖片

添加背景圖片

相信對於 Pygame 有所瞭解的小夥伴應該清楚,在版本2.0之前,Pygame 加載圖片只支持 BMP 格式,因此咱們須要先生成 BMP 格式的圖片,這裏我選擇網上的自動轉換網站:dom

https://www.aconvert.com/cn/image/ide


圖片


這個網站很是好用,後面咱們還會用它來進行音頻文件的轉換網站

拿到背景 BMP 文件後,咱們就能夠編寫代碼來加載圖片了ui

import pygame
import sys
import random
from pygame.locals import *

pygame.init()
size = width, height = 430215
screen = pygame.display.set_mode(size)
pygame.display.set_caption("自制MP3")
bg = pygame.image.load_basic("/Users/edisonvera/Downloads/luobologo.bmp")
bgrect = bg.get_rect()

下面咱們來看下效果spa

    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                sys.exit()
        screen.blit(bg, bgrect)

效果圖:code


圖片


添加雪花特效

接下來,咱們給咱們的背景增長一些特效,好比雪花
咱們先在畫布內隨機生成一些點orm

def snow(size):
    snow_list = []
    for i in range(150):
        x_site = random.randrange(0, size[0])
        y_site = random.randrange(0, size[1])
        X_shift = random.randint(-11)
        radius = random.randint(46)
        snow_list.append([x_site, y_site, X_shift, radius])
    return snow_list

而後再把生成的這些點狀圖案畫到咱們的背景圖當中blog

        for i in range(len(snow_list)):
            pygame.draw.circle(screen, (255255255), snow_list[i][:2], snow_list[i][3] - 3)
            snow_list[i][0] += snow_list[i][2]
            snow_list[i][1] += snow_list[i][3]
            if snow_list[i][1] > size[1]:
                snow_list[i][1] = random.randrange(-50-10)
                snow_list[i][0] = random.randrange(0, size[0])

這樣,咱們就有了雪花飄飄的感受了圖片

添加音頻

最後,咱們來加載音頻,由於 Pygame 對於 mp3 等音頻格式的文件支持的不太好,因此仍是使用上面的網站,把對應的音頻文件轉成 ogg 格式
而後就能夠加載音頻文件了

pygame.mixer.init()
    track = pygame.mixer.music.load("/Users/edisonvera/Downloads/snow.ogg")
    pygame.mixer.music.play()
    pygame.mixer_music.fadeout(600000)
    pause = False

固然,對於一個簡易的播放器來講,暫停、開始都是必備的,咱們再增長點擊鍵盤的空格,來控制播放的功能

        if pause:
            pygame.mixer.music.pause()
        else:
            pygame.mixer.music.unpause()

這樣,一個簡易的 MP3 播放器就完成了,快來試試吧!

相關文章
相關標籤/搜索