html - 如何将视频从 Play 2 Framework 流式传输到 HTML5 Play 器

标签 html scala playframework-2.0

如何将视频从 play 2 应用程序流式传输到 HTML5 视频 Play 器?

当我使用来自 play stream doc 的解决方案时我可以接收视频,但视频 Play 器中的视频长度是无限的。

最佳答案

我改编了this solution .

 def stream(id: Long) = Action {
    implicit r =>
      val v = videos.where(_.id === id).single
      val file = new java.io.File(v.filePath)
      import ExecutionContext.Implicits.global
      val fileContent: Enumerator[Array[Byte]] = Enumerator.fromFile(file)

      SimpleResult(
        header = ResponseHeader(200, Map(
          CONTENT_LENGTH -> file.length.toString,
          CONTENT_RANGE -> s"bytes */${file.length.toString}",
          ACCEPT_RANGES -> "bytes",
          CONTENT_TYPE -> v.format,
          PRAGMA -> "public",
          CONTENT_TRANSFER_ENCODING -> "binary",
          CONTENT_DISPOSITION -> "attachment"
        )),
        body = fileContent
      )
  }

关于html - 如何将视频从 Play 2 Framework 流式传输到 HTML5 Play 器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19392504/

相关文章:

html - Contact Form 7 文本区域样式

html - 全宽背景响应式网站

scala - 在哪里放置定期执行的更新参与者内部状态的计算?

scala - 如何内联使用具有精炼返回类型的宏?

复杂列表的json序列化

scala - playframework 测试 - 设置和拆除 - 如何?

ios - 如何在 Safari iOS 的 html5 Canvas 中缩放表情符号?

javascript - 如何在浏览器上使用 TailwindCSS 强制暗模式?

scala - sbt assemblyMergeStrategy 不工作

java - 如何从异步 Play 操作返回结果