用Python播放音频

150 投票
25 回答
296941 浏览
提问于 2025-04-11 09:33

我该怎么在Python脚本中播放音频(比如一秒钟的声音)呢?

最好是能在不同的平台上都能用,但首先需要在Mac上能正常工作。

我知道我可以在Python里直接执行afplay file.mp3这个命令,但有没有办法用纯Python来实现呢?如果不依赖外部库那就更好了。

25 个回答

54

你最好的选择可能是使用 pygame/SDL。这是一个外部库,但它在不同平台上都有很好的支持。

pygame.mixer.init()
pygame.mixer.music.load("file.mp3")
pygame.mixer.music.play()

你可以在 pygame.mixer.music 的文档 中找到关于音频混音器支持的更具体的说明。

63

试试这个叫做 playsound 的库,它是一个纯Python写的、可以在不同平台上使用的模块,只需要一个简单的函数就能播放声音,而且不需要其他任何依赖。

你可以通过pip来安装它:

$ pip install playsound

安装完成后,你可以这样使用它:

from playsound import playsound
playsound('/path/to/a/sound/file/you/want/to/play.mp3')
20

你可以在这里找到关于Python音频的信息:http://wiki.python.org/moin/Audio/

看起来Python本身不能直接播放.mp3文件,需要用到外部库。你可以选择把.mp3文件转换成.wav或其他格式,或者使用像PyMedia这样的库。

撰写回答