我无法滚动我的视频进度条...这是由于缺少属性还是由于加载时间过长?
<video autoplay="autoplay" controls="controls" th:src="'/movie/' + ${movie.title}">
我正在使用Java Spring和Thymleaf将视频带到前端。
答案 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