使用spring boot,我想制作基于RESTful的视频播放器.我的文件浏览器中有.mp4扩展视频.如何通过创建休息端点在前端端提供这些视频?
我试过这种方法.视频可以启动或停止.但它无法向后或向前完成.无法达到所需的时间并开始.
spring video-streaming html5-video spring-boot spring-restcontroller
我有一个端点,如示例代码块中所示。流式传输时,我通过 调用异步方法streamHelper.getStreamSuspendCount()。我正在更改状态时停止此异步方法。但当浏览器关闭且会话终止时,我无法访问此异步方法。更改状态时,我将停止会话范围内的异步方法。但当浏览器关闭且会话终止时,我无法访问此异步方法。会话关闭时如何访问此范围?
@RequestMapping(value = "/stream/{columnId}/suspendCount", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
@ResponseBody
public Flux<Integer> suspendCount(@PathVariable String columnId) {
ColumnObject columnObject = streamHelper.findColumnObjectInListById(columnId);
return streamHelper.getStreamSuspendCount(columnObject);
}
getStreamSuspendCount(ColumnObject columnObject) {
...
//async flux
Flux<?> newFlux = beSubscribeFlow.get(i);
Disposable disposable = newFlux.subscribe();
beDisposeFlow.add(disposable); // my session scope variable. if change state, i will kill disposable (dispose()).
...
return Flux.fromStream(Stream.generate(() -> columnObject.getPendingObject().size())).distinctUntilChanged()
.doOnNext(i -> {
System.out.println(i);
}));
}
Run Code Online (Sandbox Code Playgroud) server-sent-events spring-boot project-reactor spring-session