gpt4 book ai didi

python - 使用 Python 流式传输音频(没有 GStreamer)

转载 作者:太空宇宙 更新时间:2023-11-03 11:56:18 25 4
gpt4 key购买 nike

我正在从事一个涉及从我的网络服务器流式传输 .OGG(或 .mp3)文件的项目。我不想下载整个文件然后播放它,有没有办法在纯 Python 中做到这一点(没有 GStreamer - 希望让它真正跨平台)?有没有办法使用 urllib 一次下载文件 block 并将其加载到 PyGame 中以进行实际的音频播放?

谢谢!

最佳答案

我想您的服务器支持范围请求。您通过标题 Range 询问服务器,其中包含您想要的范围的起始字节和结束字节:

import urllib2

req = urllib2.Request(url)
req.headers['Range'] = 'bytes=%s-%s' % (startByte, endByte)
f = urllib2.urlopen(req)

f.read()

您可以实现 file object并始终从服务器下载所需的文件 block 。几乎每个库都接受文件对象作为输入。

由于网络延迟,它可能会很慢。您需要下载更大的文件 block ,在单独的线程中预加载文件等。换句话说,您需要自己实现流式传输客户端逻辑。

关于python - 使用 Python 流式传输音频(没有 GStreamer),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9115022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com