pygameでmp3再生
Windowsでは環境によってpygame.mixer.musicでmp3が再生できないことがあります。これに関して以下のサイトを見たところmp3のライセンスの関係でSDL_mixer.dllそのものがmp3のサポートをしていないことがあるそうです。
PyKaraoke - Installation FAQ
というわけで、mp3をサポートした状態でビルドされたSDL_mixerを使えば良さそうな感じなので以下のサイトからSDL_mixer-1.2.7-win32.zipを落として解凍します。
解凍すると以下のようなdllが出てきます。
これらのdllのうちSDL_mixerのみをpythonフォルダ下のpygameフォルダに入れます。すでにpygameフォルダにはSDL_mixer.dllがあるのでSDL_mixer.dll.bakとでも名前を変えておくと良いでしょう。
Python24\Lib\site-packages\pygame
はじめは他のdllもpygameフォルダに入れたのですが、mp3を再生するプログラムの実行時に「smepg.dllがロードできません」と出てくるので実行するスクリプトと同じフォルダに入れてやったところうまくいきました。同様にogg.dll,vorbis.dll,vorbisfile.dllもスクリプトと同じフォルダに入れる必要があります。
結局のところこういう感じになるようです。
「それ以外のdll」はsystem32フォルダに入れてもいいと思います。配布する際はこれらのdllも配布することになるのでmp3の再生に関してはこれで問題なさそうかな。