サンプルコード
import pygame.mixer
pygame.mixer.init()
music = pygame.mixer.Sound("./sample.wav")
music.play()
調査を進めたところ、スクリプトではなく Python の対話モードだと再生できることが判明した。これはつまり、再生が始まる前にプログラムが終了してしまうことが問題らしい。
そこで、
import pygame.mixer
import time
pygame.mixer.init()
music = pygame.mixer.Sound("./sample.wav")
music.play()
print(music.get_length())
time.sleep(music.get_length())
play が非同期だから、再生が終わる前に終了しちゃうんですね。とりあえず再生が終了するまで sleep してやれば済みます。
pygameライブラリ 公式
https://www.pygame.org/download.shtml