mac下用python播放mp3


Python




0x01.关于

在做《基于网易云音乐API的无线播放器》的时候,想要适配各个环境,需要用Python在mac播放音乐。

Python在mac播放音乐坑比较多,所以记点笔记,希望以后开发或者读者能少踩点坑。

解决python播放的方案很多,而且各个看上去好像都很有效,其实,真的鞋下去,各种报错。



0x02.暂无方案

  • 用pygame模块

一开始,我选择用pygame解决播放问题,测试代码很简单。

import pygame,sys
pygame.init()
pygame.mixer.init()
pygame.time.delay(1000)
pygame.mixer.music.load("xxx.mp3")
pygame.mixer.music.play()
while 1:
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            sys.exit()

播放的时候就碰到坑了,爆了下面的错误。

xxx.mp3 error! Module format not recognized

想想,应该是,需要解压什么的,于是去查资料了。

  • 用pymedia模块

在网上看到这么一篇文章 《用PyMedia解码并播放mp3文件》

看上去挺有道理的,然后就去找pymedia模块了。

安装完了,就一直报错。

  • PyAudio模块

http://people.csail.mit.edu/hubert/pyaudio/

用完后报错。

  • pyglet模块

      import pyglet
      music = pyglet.resource.media('music.mp3')
      music.play()
      pyglet.app.run()
    

‘AVbin is required to decode compressed media’)
pyglet.media.riff.WAVEFormatException: AVbin is required to decode compressed media

于是就去下了AVbin模块,地址在这里:https://github.com/AVbin/AVbin/downloads

嗯…….可以了。弄完就能播放了,然后,播放到10多秒突然停了。。。

现在还找不到解决方案,明天去了解下mp3文件格式,待续待续………




本文出自 夏日小草,转载请注明出处: http://homeway.me/2015/03/15/play-mp3-under-mac-use-python/

by 小草

2015-03-17 17:27:20

Fork me on GitHub