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

自己怎么做网站免费的做网站用discuz还是wp

自己怎么做网站免费的,做网站用discuz还是wp,qq网页版在线直接登录,聊城app制作网站文章目录 视频断点续播功能实现方案核心思路前端实现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/a/545801.html

相关文章:

  • windows系统连接docker desktop启动的mysql
  • 个人信息网站汾阳网站建设
  • 惠州市两学一做网站网站建设归工商局管还是工信局管
  • 仓储服务 东莞网站建设 技术支持做网站报价单
  • 自助建站信息网中国做二手房最大的网站有哪些
  • 四川省安监站网址团员关系没转就作废吗
  • 【零基础学MySQL】第二章:SQL类型
  • 程序员做网站给女朋友帝国后台网站如何设置自动刷新首
  • 仓颉语言变量声明与赋值深度解析
  • 宁波网站建设与推广方案安徽元鼎建设公司网站
  • Spring AI Alibaba 【三】
  • C++继承机制:面向对象编程的基石
  • 公司网站设计很好的怎么看一个网站是什么时候做的
  • pc不同网段间的通信过程
  • 成功移植游戏《四叶苜蓿》第二章——支持Linux和龙芯
  • 移动网站开发百科评价校园网站建设范例
  • 网站建设 别墅国家信用信息公示系统查询入口
  • 实验室安全教育与管理平台学习记录(二)化学类安全2
  • 武功县住房与城乡建设局网站太阳能建设网站
  • SAP-ABAP:SAP ABAP中的数学艺术:掌握向上取整与向下取整实例详解
  • OpenEuler中mysql这是在执行 MySQL 密码重置操作时出现的 “找不到mysqld_safe命令” 的错误场景。
  • GXDE 25.1 发布:系统优化若干
  • 【开题答辩全过程】以 病虫害监测管理系统的设计与实现为例,包含答辩的问题和答案
  • 深入浅出 MQTT:轻量级消息协议在物联网中的应用与实践
  • 天津网站开发自己怎么做商城网站视频教程
  • flash-attn安装卡在Building wheel for flash-attn (setup.py)
  • 【人工智能数学基础】什么是高斯分布/正态分布?
  • 医院网站建设策划怎么注册国外网站
  • 广州专业建网站公司微电影制作
  • 做网站买什么服务器上蔡专业网站建设