PyGameには midi、Mixer、music と、音に関係するモジュールが3つあるのですが、その中で一番高レベルAPIっぽいmusicについて。
OggVorbisだとかWaveだとかをループ再生したり、要するにBGM鳴らす目的のものネ。
その中にModとかの対応がうたわれている。これはもう試すしかない。
ModとOggに対応としか書いてないんだけど、Wavも再生出来るっぽいし、XMにも対応している様なことを見かけたのでならばXMを試したい。
ではやってみよう。
import pygame import pygame.mixer as m pygame.init() m.music.load("audio/floodlit.xm") m.music.play() while True: pass pygame.quit()
これだけで鳴らせる。簡単。XMも問題なく鳴っている。
music.playの引数にstartってのがあって、Oggとかだと開始(秒)なのだけどModとかXMだと開始パターン番号として働く様で、キューイングDJ的なもの作るのに便利そう。
なのでやっぱり同時に複数鳴らせれば便利だよね。
そういう込み入ったもの作りたければ、mixerクラス直接いじりなさいってことになるんだと思う。普通はBGMに使うものだろうし、これだけ簡単に音楽鳴るなら便利でいいですよね。うん。