PythonでMP3プレーヤーを作る

Pygameを使用してMP3ファイルを再生する

import pygame
from tkinter import filedialog
import tkinter as tk

pygame.init()

# ウィンドウの設定
win = pygame.display.set_mode((500, 500))

pygame.display.set_caption("Pygame MP3 Player")

# ボタンの設定
play_button = pygame.Rect(50, 50, 50, 50)
pause_button = pygame.Rect(150, 50, 50, 50)
select_button = pygame.Rect(250, 50, 50, 50)

font = pygame.font.SysFont(None, 24)

run = True
while run:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False

        # 再生ボタンが押されたとき
        if event.type == pygame.MOUSEBUTTONDOWN:
            if play_button.collidepoint(event.pos):
                pygame.mixer.music.unpause()

        # 一時停止ボタンが押されたとき
        if event.type == pygame.MOUSEBUTTONDOWN:
            if pause_button.collidepoint(event.pos):
                pygame.mixer.music.pause()

        # ファイル選択ボタンが押されたとき
        if event.type == pygame.MOUSEBUTTONDOWN:
            if select_button.collidepoint(event.pos):
                root = tk.Tk()
                root.withdraw()
                file_path = filedialog.askopenfilename()
                pygame.mixer.music.load(file_path)
                pygame.mixer.music.play()

    win.fill((255, 255, 255))

    # ボタンの描画
    pygame.draw.rect(win, (0, 255, 0), play_button)
    pygame.draw.rect(win, (255, 0, 0), pause_button)
    pygame.draw.rect(win, (0, 0, 255), select_button)

    # ボタンにラベルを追加
    play_text = font.render("Play", True, (0, 0, 0))
    pause_text = font.render("Pause", True, (0, 0, 0))
    select_text = font.render("Select", True, (0, 0, 0))

    win.blit(play_text, (play_button.x + play_button.width / 2 - play_text.get_width() / 2,
                         play_button.y + play_button.height / 2 - play_text.get_height() / 2))
    win.blit(pause_text, (pause_button.x + pause_button.width / 2 - pause_text.get_width() / 2,
                          pause_button.y + pause_button.height / 2 - pause_text.get_height() / 2))
    win.blit(select_text, (select_button.x + select_button.width / 2 - select_text.get_width() / 2,
                          select_button.y + select_button.height / 2 - select_text.get_height() / 2))

    pygame.display.update()

pygame.quit()

ちょっと、ひと休み。

生徒
生徒

教授?
これがMP3プレーヤーなのですか?

教授
教授

ええ、Pygameを使っていますよ?

生徒
生徒

MP3以外は再生できないのですか?

教授
教授

残念ながらできません。
まあ、サンプルコード的な感じで?

生徒
生徒

フォルダ内をランダム再生とかできたら面白そうですね。

教授
教授

なるほど。
参考にしておきます(メモメモ)

生徒
生徒

冗談ですよ?

教授
教授

悪質な冗談はやめてください。

タイトルとURLをコピーしました