如何从字节播放mp3?

2024-03-28 19:56:39 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有办法直接使用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)

编辑: 问题已经解决了,如果你遇到类似的问题,请看下面我的答案


Tags: 文件代码编辑data字节timeinit二进制
2条回答

对于任何可能面临类似问题的人来说

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)

我看到了你的pygame标签,所以我要在pygame中做这个。Pygame可以使用以下行从字节加载文件:sound = pygame.mixer.Sound(bytes)sound = pygame.mixer.Sound(buffer=bytes)。我不能保证这将适用于mp3文件,不过,你可能需要使用OGG或WAV文件,作为字节。

相关问题 更多 >