pygameを使用して音楽プレーヤーを実装する(1)

目次

1つは、pygameのインストールです

1グラフィカルインターフェイスのインストール

2コマンドラインインストール

3pygameの最も単純な構造

第二に、音楽プレーヤーの実現

1画像表示

2音楽を再生する


Pygameは、SDLライブラリに基づいて開発された、ゲームソフトウェアの開発に使用されるPythonプログラムモジュールのセットです。Pythonプログラムで機能豊富なゲームやマルチメディアプログラムを作成できます。Pygameは、複数のオペレーティングシステムをサポートできる移植性の高いモジュールです。

開発環境:python3.7 + pycharmコミュニティエディション

1つは、pygameのインストールです

1グラフィカルインターフェイスのインストール

ファイルを選択--- pycharmの設定

2コマンドラインインストール

ターミナルで実行:

pip install pygame -i https://pypi.douban.com

3pygameの最も単純な構造

新しいpyファイルを作成し、以下に示すようにコードを入力します。

pygameの基本構造は、次の3つの部分で構成されています。

  1. pygameを初期化する
  2. ゲームウィンドウを作成する
  3. ゲームループを作成する

第二に、音楽プレーヤーの実現

実装されたプレーヤーは次のとおりです。

プロジェクトの構造:

プレーヤーを実装するには、次の問題を解決する必要があります。

  1. リアルな写真の作り方
  2. 音楽の再生方法
  3. マウスがボタンをクリックしたかどうかを判断する方法
  4. テキストの表示方法
  5. プログレスバーを実装する方法

1画像表示

画像はゲームで非常に重要なリソースです。画像は背景やキャラクターなどです。pygameは、jpeg、png、bmp、gifなどの画像形式をサポートしています。通常、画像を表示するには、次の3つの手順があります。

 # 显示背景
# 1.加载图片
background = pygame.image.load("images/player.png")  

# 2 把图片贴到窗口上
# 参数:要显示的图片对象,在目标窗口的坐标
screen.blit(background,(0,0))  

# 3 刷新屏幕
pygame.display.flip()  

完全なコード:

# 导入pygame
import pygame

#rect描述对象位置,参数包括left(x坐标),top(y坐标),width,height
WINDOW = pygame.Rect(0,0,480,380)

def main():
    global index
    index = 0  # 默认是第一首歌曲的下标
    # 1. 初始化pygame的各个模块
    pygame.init()

    # 2 建立一个游戏窗口
    screen = pygame.display.set_mode(WINDOW.size)
    # 设置窗口标题
    pygame.display.set_caption("音乐播放器")

    # 显示背景
    background = pygame.image.load("images/player.png")  # 加载图片
    screen.blit(background,(0,0))  # 把background贴到窗口上
    pygame.display.flip()  # 刷新屏幕

    # 3 建立一个游戏循环
    running = True
    while running:
        # 处理用户的事件
        for event in pygame.event.get():
            # type事件类型
            if event.type == pygame.QUIT:
                running = False


if __name__ == '__main__':
    main()

実行後、インターフェースを確認できます。

2音楽を再生する

音楽を再生するには、ミキサーモジュールを使用します。一般的な方法は次のとおりです。

pygame.mixer.music.load(file) 使用文件名作为参数载入音乐 ,音乐可以是mp3等格式
pygame.mixer.music.play()     播放载入的音乐pygame.mixer.music.stop() 停止播放,
pygame.mixer.music.pause()     暂停播放。pygame.mixer.music.unpause() 取消暂停。
pygame.mixer.music.set_volume(value) 来设置音量,音量value的范围为0.0到1.0。
pygame.mixer.music.get_volume() 获取音量大小。
pygame.mixer.music.get_pos()    获取播放的时长,单位毫秒

再生する曲は曲ではないため、グローバル変数を定義して曲リストを保存できます。曲リストの読み込みを完了する関数を定義します

song_list = []  # 歌曲列表
# 加载歌曲列表
def load_songs():
    songs = os.listdir("music")
    songs = ["music/"+song for song in songs]
    song_list.extend(songs)
    
# 播放指定的歌曲
def play(index):  # index当前歌曲的索引
    pygame.mixer.music.stop()
    # 播放音乐
    music = pygame.mixer.music.load(song_list[index])
    pygame.mixer.music.play()

メイン機能:

def main():
    index = 0  # 默认是第一首歌曲的下标
    # 1. 初始化pygame的各个模块
    pygame.init()

    # 2 建立一个游戏窗口
    screen = pygame.display.set_mode(WINDOW.size)
    # 设置窗口标题
    pygame.display.set_caption("音乐播放器")

    # 显示背景
    background = pygame.image.load("./images/player.png")  # 加载图片
    screen.blit(background,(0,0))  # 把background贴到窗口上
    pygame.display.flip()  # 刷新屏幕

    # 加载歌曲列表并播放第一首歌曲
    load_songs()
    play(index)

    # 3 建立一个游戏循环
    running = True
    while running:
        # 处理用户的事件
        for event in pygame.event.get():
            # type事件类型
            if event.type == pygame.QUIT:
                running = False

今まで、私たちはすでに音楽を再生することができます

おすすめ

転載: blog.csdn.net/chengshaolei2012/article/details/114144064