📜  pygame 播放声音 - Python (1)

📅  最后修改于: 2023-12-03 15:18:45.131000             🧑  作者: Mango

Pygame 播放声音 - Python

Pygame 是一款高性能、跨平台的 Python 游戏库,支持多媒体、图像、事件等多种功能。其中,Pygame 的 mixer 模块提供了播放各种类型的音频文件的功能。

安装 Pygame

在使用 Pygame 的 mixer 模块前,需要先安装 Pygame。

在终端或命令提示符中输入以下命令即可安装 Pygame:

pip install pygame
播放声音

使用 Pygame 的 mixer 模块播放声音需要经过以下几个步骤:

  1. 初始化 Pygame
  2. 加载声音文件
  3. 播放声音
  4. 阻塞程序,等待声音播放结束

下面是一个简单的例子,演示如何使用 Pygame 的 mixer 模块播放 MP3 格式的音频文件:

import pygame

pygame.mixer.init()
pygame.mixer.music.load('audio.mp3')
pygame.mixer.music.play()

while pygame.mixer.music.get_busy():
    pygame.time.Clock().tick(10)

以上代码中,

  • pygame.mixer.init() 初始化 Pygame 的 mixer 模块。
  • pygame.mixer.music.load('audio.mp3') 加载音频文件,其中,audio.mp3 是音频文件的文件名。
  • pygame.mixer.music.play() 播放音频文件。
  • while pygame.mixer.music.get_busy(): pygame.time.Clock().tick(10) 该行代码阻塞程序,等待声音播放结束。
暂停和恢复声音

除了播放声音外,Pygame 的 mixer 模块还支持暂停和恢复声音的功能。

例如,下面的代码演示了如何在播放声音时暂停和恢复声音:

import pygame

pygame.mixer.init()
pygame.mixer.music.load('audio.mp3')
pygame.mixer.music.play()

while pygame.mixer.music.get_busy():
    pygame.time.Clock().tick(10)

pygame.mixer.music.pause()
pygame.time.delay(1000)
pygame.mixer.music.unpause()

while pygame.mixer.music.get_busy():
    pygame.time.Clock().tick(10)

在以上代码中,

  • pygame.mixer.music.pause() 暂停声音。
  • pygame.time.delay(1000) 让程序暂停 1 秒钟。
  • pygame.mixer.music.unpause() 恢复声音。
结语

使用 Pygame 的 mixer 模块可以方便地播放声音文件,同时还支持暂停和恢复声音。如果您需要在 Python 程序中播放声音,Pygame 是您不错的选择。