【发布时间】:2017-10-12 00:12:39
【问题描述】:
有没有办法直接使用 python 从字节播放 mp3?如果不是,我可以将二进制文件转换为不同的音频格式并让二进制文件可播放吗?
编辑:以下代码适用于wav 文件,但不适用于mp3
from pygame import mixer, time
mixer.pre_init(44100, -16, 2, 2048)
mixer.init()
data = open('filename.mp3', 'rb').read()
sound = mixer.Sound(buffer=data)
audio = sound.play()
while audio.get_busy():
time.Clock().tick(10)
编辑: 问题已解决,如果您遇到类似问题,请参阅下面的回答
【问题讨论】:
-
澄清一下,你有一个 .mp3 格式的文件,你想用 Python 播放它吗?您使用的是什么操作系统?
-
我没有,我正在流式传输 mp3 二进制文件,我不想将它写入磁盘。我使用的是mac,但是linux的解决方案也可以。
-
只是为了澄清当您说二进制时,它是振幅数组,还是实际上是 mp3 格式?当您说流式传输时,您的意思是它必须实时完成吗?
-
不确定如何实时执行此操作,但如果您发现可以将短 sn-ps 写入磁盘,也许您可以使用
os.system("afplay path/temp.mp3")。可能需要更多细节才能获得更有帮助的答案。 -
我目前正在使用 afplay 和 tempfiles,但我想这样做而不必像我提到的那样保存到磁盘。