サーバーから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
クロムから取得しています。また、応答を返す方法が機能するかどうかもわかりません。応答が返ってきたら応答を終了しないのでしょうか?