我有一个名为 dummy 的视图,我想从我的服务器流式传输 mp3 并将其流式传输到一个<audio src="/stream">
标签,以便客户端可以立即开始播放文件而无需等待整个文件。
def dummy(request):
headers = {
'Content-Transfer-Encoding': 'binary',
'Content-Type': 'audio/mpeg',
'Transfer-Encoding': 'chunked',
'Connection': 'keep-alive',
'Cache-Control': 'no-cache'
}
with open('songer.mp3') as handle:
while True:
bytes = handle.read(CHUNK)
if not bytes:
break
return Response(bytes, headers=headers)
但我是ERR_INVALID_CHUNKED_ENCODING
从 chrome 获得的,我也不确定我返回响应的方式是否会起作用,因为一旦它到达返回,它不会结束响应吗?