无法滚动视频进度条| HTML

时间:2018-04-21 13:27:02

标签: java html spring html5-video thymeleaf

我无法滚动我的视频进度条...这是由于缺少属性还是由于加载时间过长?

enter image description here

<video autoplay="autoplay" controls="controls" th:src="'/movie/' + ${movie.title}">

我正在使用Java Spring和Thymleaf将视频带到前端。

1 个答案:

答案 0 :(得分:1)

您的Spring Controller需要支持范围请求(或部分内容请求)。

实施起来有点棘手,所以建议使用像Spring Content这样的东西。那么你根本不需要实现控制器代码。假设您正在使用Spring Boot(如果您不是,请告诉我),那么它看起来像这样:

  

的pom.xml

<dependency>
    <groupId>com.github.paulcwarren</groupId>
    <artifactId>spring-content-rest-boot-starter</artifactId>
    <version>0.0.10</version>
</dependency>
<dependency>
    <groupId>com.github.paulcwarren</groupId>
    <artifactId>content-fs-spring-boot-starter</artifactId>
    <version>0.0.10</version>
</dependency>
  

SpringBootApplication.java

@SpringBootApplication
public class YourSpringBootApplication {

  public static void main(String[] args) {
    SpringApplication.run(YourSpringBootApplication.class, args);
  }

  @Configuration
  @EnableFilesystemStores
  public static class StoreConfig {
    File filesystemRoot() {
        return new File("/path/to/your/movies");
    }

    @Bean
    public FileSystemResourceLoader fsResourceLoader() throws Exception {
      return new FileSystemResourceLoader(filesystemRoot().getAbsolutePath());
    }
  }

  @StoreRestResource(path="movie")
  public interface MovieStore extends Store<String> {
    //
  }
}

这就是在/movie支持流式传输时创建基于REST的电影服务所需的全部内容。它实际上也支持完整的CRUD功能;创建== POST,读取== GET(包括字节范围支持),更新== PUT,删除== DELETE以防对您有用。上传的电影将存储在&#34; / path / to / your / movies&#34;中。

因此...

GET /movie/my-movie.mp4

将返回部分内容响应,这将启用电影播放器​​上的进度条(当您移动滑块时,还会发出后续范围请求以获取电影)。

HTH