OSX Yosemite上的pygame:无法识别的音乐格式

时间:2015-01-27 15:14:05

标签: python pygame sdl

我在Mac上玩Pygame,运行OSX Yosemite。我无法使用以下代码播放MP3文件:

pygame.mixer.music.load('bg_music.mp3')
pygame.error: Unrecognized music format

我正在使用Python 2.7.1并安装了以下库:

  • sdl(brew):1.2.15
  • sdl_mixer(brew):1.2.12
  • libvorbis(brew):1.3.4
  • pygame:1.9.2a0

我已经四处搜索并尝试了所有建议on this thread但没有成功。

有没有人有任何想法我怎么能让这件事起作用?

4 个答案:

答案 0 :(得分:2)

您是否安装了SMPEG库? libvorbis用于.ogg支持,.mp3需要SMPEG或MAD库,如SDL_mixer manual中所述。

答案 1 :(得分:0)

我有同样的问题,感谢Cynikal的帖子,我终于能够解决这个问题了。如果您已经安装了pygame,则可以忽略step2。如果你打算使用python27或其他什么,也可以将pip3更改为pip并从brew安装列表中删除python3

第1步: 使用Brew安装Mac的所有Pygame deps(如果你没有brew,请先查看如何安装)

foreach(Control cbxList in this.Controls)
{
    if(cbxList is CheckBox)
    {
        for (int i = 0; i < cbxList.Items.Count; i++)
        {
            if ((string)cbxList.Items[i] == value)
            {
                cbxList.SetItemChecked(i, true);
            }
        }
    }
}

第2步: 安装PyGame

brew install python3 hg sdl sdl_image sdl_ttf portmidi smpeg 

第3步: 从https://www.libsdl.org/projects/SDL_mixer/release-1.2.html

下载sdl-mixer源代码

用tar zxvf解压缩tar.gz文件:

pip3 install hg+http://bitbucket.org/pygame/pygame

第4步: 运行你的pygame代码,看它是否修复了你的依赖问题

我希望这可以帮助其他人来解决我在OS X Yosemite上遇到的同样问题

答案 2 :(得分:0)

我的问题是我使用的是python 2而不是python3

答案 3 :(得分:0)

由于 pygame 1.9.5 版本,我也遇到了同样的问题 我安装 1.9.6版本时遇到了问题 试试这个命令确实有效:

python -m pip install pygame==1.9.6.rc1 --user --pre