Pythonで音声ファイルを再生する場面は、ゲーム、アプリ、通知ツールなど意外と多いですよね。その中で、最初に目につくのが playsound
というシンプルなライブラリ。しかし、実際に開発で使っていくと「これで本当に十分か?」という壁にぶつかることがあります。
本記事では、playsound
の限界と、なぜ代替として pygame
を使うべきなのかを具体的に解説します。
pip install playsound
)from playsound import playsound
playsound('sample.mp3')
.wav
と .mp3
のみpip install pygame
import pygame
import time
pygame.mixer.init()
pygame.mixer.music.load("sample.mp3")
pygame.mixer.music.play()
while pygame.mixer.music.get_busy():
time.sleep(0.1)
機能 | pygame | playsound |
---|---|---|
.mp3, .wav, .ogg 対応 | ◯ | △ |
非同期再生 | ◯ | ✕ |
再生の一時停止・再開・停止 | ◯ | ✕ |
音量調整・ループ再生 | ◯ | ✕ |
エラーへの耐性 | 高い | 低い |
クロスプラットフォーム性 | 安定 | 環境依存あり |
pygame
を選んだ最大の理由は「信頼性と柔軟性」です。
当初、Pythonで簡単に音声を鳴らしたくて playsound
を試しましたが、以下のようなトラブルが頻発しました:
.mp3
がmacOSで再生できないそれに比べて pygame
は、
.ogg
にも対応していて軽量まさに開発用途にふさわしい音声再生ライブラリです。
使用目的 | おすすめライブラリ |
---|---|
とりあえず音を鳴らしたい | playsound |
制御したい、安定性がほしい | pygame |
Pythonで音声ファイルを再生するだけなら playsound
でもOKですが、「実用的なツール」や「ゲーム」、「アプリ」を作るなら、pygame
一択と言っても過言ではありません。
PythonでTOTP・HOTPを実装する方法|ワンタイムパスワード
Python ブラウザ指定し自動で開く!webbrowserモジュール完全ガイド
Pythonでmoricons.dllのアイコンをPNGとして抽出する方法
【Python音声再生】playsoundではなくpygameを選ぶ理由とは?