def mp3_to_wave(self, filename):
mf = mad.MadFile(filename)
with tempfile.SpooledTemporaryFile() as f:
wav = wave.open(f, mode='wb')
wav.setframerate(mf.samplerate())
wav.setnchannels(1 if mf.mode() == mad.MODE_SINGLE_CHANNEL else 2)
# 4L is the sample width of 32 bit audio
wav.setsampwidth(4)
frame = mf.read()
while frame is not None:
wav.writeframes(frame)
frame = mf.read()
wav.close()
f.seek(0)
data = f.read()
return data
评论列表
文章目录