私は実験プロジェクトの akka-http(akka-http-experimental_2.11 - 0.4) に取り組んでいます。私は以前にスプレーに取り組んだことがありません。
mp4 ビデオ (サイズは異なる場合があります) をブラウザーにストリーミングしたいと思います。しかし、HttpResponse (HttpEntity.Chunked ?) の HttpEntity を作成する方法がわかりません。私はこのような汚いことを試しましたが、これは正しい方法ではありませんが、これは Firefox で単一の要求に対してのみ機能します。
def output = Source.fromFile("C:\\Users\\karthik\\Downloads\\big_buck_bunny.mp4")(scala.io.Codec.ISO8859)
lazy val video = HttpResponse(entity = HttpEntity.Chunked(MediaTypes.`video/mp4`, Flow(output.map(_.toByte).map(a => ChunkStreamPart(ByteString(a)))).toProducer(materializer)))
別のタブまたはブラウザーで同じ URL を開くと、サーバーはその要求を処理できません。これは実験的なプロジェクトであるため、大きなファイルのストリーミングに関する十分なドキュメントがありません。
サンプルソースコードフォームhttps://github.com/akka/akka/blob/release-2.3-dev/akka-http-core/src/test/scala/akka/http/TestServer.scalaを入手しました
HttpEntity.Chunked のプロデューサーを作成する方法を知る必要があります。簡単な言葉で説明できる人がいれば、API を理解するのに役立ちます。
ありがとうございました。
(PS: スタック オーバーフローで Akka-Http タグを作成してください)