当前位置: 首页 > wzjs >正文

学生网站作品多开商城

学生网站作品,多开商城,产品设计网址,汽车工厂网站建设文章目录 视频断点续播功能实现方案核心思路前端实现HTML结构JavaScript实现Spring Boot后端实现1.依赖配置(pom.xml)2.实体类3.存储库接口4.服务层5. 控制器实现要点视频断点续播功能构思图流程说明用户交互:前端核心功能:后端处理:数据存储:🌐 我的个人网站:乐乐主题创…

文章目录

  • 视频断点续播功能实现方案
    • 核心思路
    • 前端实现
      • HTML结构
      • JavaScript实现
    • Spring Boot后端实现
      • 1.依赖配置(pom.xml)
      • 2.实体类
      • 3.存储库接口
      • 4.服务层
      • 5. 控制器
    • 实现要点
    • 视频断点续播功能构思图
    • 流程说明
      • 用户交互:
      • 前端核心功能:
      • 后端处理:
      • 数据存储:

🌐 我的个人网站:乐乐主题创作室

在这里插入图片描述

视频断点续播功能实现方案

核心思路

实现视频断点续播需要前后端配合,主要包括:

  1. 前端记录播放进度
  2. 后端存储进度信息
  3. 视频请求支持范围请求(Range Request)

前端实现

HTML结构

<div class="video-container"><video id="videoPlayer" controls><source src="/api/video/stream?videoId=123" type="video/mp4"></video><div class="video-controls"><span id="currentTime">00:00</span> / <span id="totalTime">00:00</span></div>
</div>

JavaScript实现

const videoPlayer = document.getElementById('videoPlayer');
const videoId = '123'; // 视频ID,实际应从URL或其他地方获取// 页面加载时获取上次播放进度
window.addEventListener('DOMContentLoaded', async () => {try {const response = await fetch(`/api/video/progress?videoId=${videoId}`);const data = await response.json();if (data.lastPosition) {videoPlayer.currentTime = data.lastPosition;}} catch (error) {console.error('获取播放进度失败:', error);}
});// 定期保存播放进度(每5秒)
let progressTimer = null;
videoPlayer.addEventListener('play', () => {progressTimer = setInterval(() => {saveVideoProgress(videoPlayer.currentTime);}, 5000);
});// 暂停和结束时保存进度
videoPlayer.addEventListener('pause', () => {clearInterval(progressTimer);saveVideoProgress(videoPlayer.currentTime);
});videoPlayer.addEventListener('ended', () => {clearInterval(progressTimer);saveVideoProgress(0); // 播放结束,重置进度
});// 保存播放进度到后端
async function saveVideoProgress(currentTime) {try {await fetch('/api/video/progress', {method: 'POST',headers: {'Content-Type': 'application/json'},body: JSON.stringify({videoId: videoId,position: currentTime})});} catch (error) {console.error('保存播放进度失败:', error);}
}

Spring Boot后端实现

1.依赖配置(pom.xml)

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>com.h2database</groupId><artifactId>h2</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency>
</dependencies>

2.实体类

@Entity
@Data
public class VideoProgress {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;private String userId;private String videoId;private Double position;private LocalDateTime updatedAt;@PrePersist@PreUpdatepublic void prePersist() {updatedAt = LocalDateTime.now();}
}

3.存储库接口

@Repository
public interface VideoProgressRepository extends JpaRepository<VideoProgress, Long> {Optional<VideoProgress> findByUserIdAndVideoId(String userId, String videoId);
}

4.服务层

@Service
@RequiredArgsConstructor
public class VideoService {private final VideoProgressRepository videoProgressRepository;public VideoProgress getVideoProgress(String userId, String videoId) {return videoProgressRepository.findByUserIdAndVideoId(userId, videoId).orElse(new VideoProgress()<
http://www.dtcms.com/wzjs/836684.html

相关文章:

  • 选择邯郸网站制作邯郸专业做网站哪里有
  • 阿里OSS做网站图库费用龙岗住房和建设局网站官网
  • 集团公司网站源码下载wordpress的简单应用
  • 服务器搭建网站视频教程termux wordpress
  • 网站功能结构图 怎么做wordpress二次元主页
  • 许昌网站制作公司手机版网站开发的功能点
  • 色彩搭配的网站成都企业品牌网站建设
  • 上海网站建设sheji021江苏南京建设工程信息网站
  • 论坛类网站搭建北京网站建设优化学校
  • 济宁市城市建设局网站2345网址导航站
  • 太平建设公司官方网站毕节市建设网站
  • 网站服务器打不开威海屋顶防水价格威海做防水网站
  • 嘉峪关市建设局建管科资质网站网站的软文 怎么做推广
  • 网站首页被k 不恢复ftp上传wordpress
  • 模板堂网站源码政务网站建设存在问题
  • 外贸网站推广怎样做做网站SEO用什么电脑方便
  • 广东贸易网站建设哪家dw网页制作教程主页子页
  • 母婴网站建设龙岗企业网站制作公司
  • 百度 门户网站买房子上哪个网站最好
  • 个人备案网站可以做电影站吗wordpress前端用户中心带商城功能
  • 健身顾问在哪些网站做推广wordpress用户邀请注册
  • wap开头的网站门户网站建设管理总则
  • 网站建设的3个阶段郑州手机网站制作公司
  • onedrive做网站下载盘怎样在门户网站做 推广
  • 百度推广对网站的好处wordpress结婚模板
  • 做电脑网站步骤做网站送白酒
  • 对网站开发的理解做电商哪个平台比较好
  • 免费网站排名优化在线公司电商网站建设
  • 阿里云虚拟主机怎么做网站上海网站搜索排名优化哪家好
  • 怎样申请免费网站域名深圳定制衣柜价格