如何在Python中接收音频字节时实时流式传输音频?

问题描述 投票:0回答:2

我有一个 API 端点,它以 mp3 格式实时向我传输音频字节。

我想知道我是否可以在开始获取这些字节后立即开始播放音频。我该怎么做?

p = pyaudio.PyAudio()

stream = p.open(format=pyaudio.paInt16,
                channels=1,
                rate=44100,
                output=True)


s = requests.Session()
with s.post(url, data=json.dumps(payload), headers=headers) as resp:
    for line in resp.iter_content():
        stream.write(line)

stream.stop_stream()
stream.close()
p.terminate()

但是,我没有听到任何音频。我的流不正确吗?

python audio python-requests stream real-time
2个回答
0
投票

找到解决方案。

s = requests.Session()
with s.post(url, data=json.dumps(payload), headers=headers) as resp:
    for line in resp.iter_content():
        if line:        
            audio_data = AudioSegment.from_mp3(io.BytesIO(line))
            raw_data = audio_data.raw_data
            stream.write(raw_data)

line 应该是一个字节对象。


-1
投票

天啊。非常感谢!!!这对我从 openai 传输音频有很大帮助。

© www.soinside.com 2019 - 2024. All rights reserved.