python - 如何从字节播放 mp3?

标签 python pygame mp3 pyaudio

有没有办法直接使用 python 从 bytes 播放 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)

编辑: 问题已解决,如果您遇到类似问题,请参阅下面我的回答

最佳答案

对于可能面临类似问题的任何人,这都有效

from pydub import AudioSegment
from pydub.playback import play
import io

data = open('filename.mp3', 'rb').read()

song = AudioSegment.from_file(io.BytesIO(data), format="mp3")
play(song)

关于python - 如何从字节播放 mp3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43941716/

相关文章:

python - 在flask中使用工厂模式时如何在flask扩展中使用配置?

python - 属性错误 : __enter__ using with statement SqlAlchemy session

python - 我怎样才能从中心而不是pygame中的角落旋转图像?

python - 我想使用 pyinstaller 将 .py 文件制作成 exe 文件

delphi - 低音/LAME编码: How to properly continue MP3 recording/encoding?

Python - 以整齐的表格格式将 HTML 抓取为 csv

python - 如何将我的 Pygame 游戏 "blit"放到 OpenGL 表面上?

python - 如何关闭 Python 正在使用的 mp3 文件?

video - 是否有用于从视频文件(avi/divx/xvid/mpeg)中剥离音频(mp3)的API?

python - 使用 Pandas 嵌套 JSON