feat: 优化跳过控制器,新增片尾倒计时模式选择,支持剩余时间和绝对时间模式
This commit is contained in:
@@ -0,0 +1,101 @@
|
||||
# 跳过控制器功能优化:片尾倒计时改进
|
||||
|
||||
## 概述
|
||||
|
||||
我们已经优化了 SkipController 组件的片尾倒计时功能,现在支持基于剩余时间的倒计时模式,更符合用户的使用习惯。
|
||||
|
||||
## 主要改进
|
||||
|
||||
### 1. 新增片尾计时模式选择
|
||||
|
||||
- **剩余时间模式(推荐)**:基于视频剩余时间进行倒计时
|
||||
- 例如:设置 "2:00" 表示还剩 2 分钟时开始倒计时
|
||||
- 适用于不同长度的剧集,更加智能
|
||||
- **绝对时间模式**:基于视频开始播放的时间
|
||||
- 例如:设置 "20:00" 表示播放到第 20 分钟时开始检测
|
||||
- 保持旧版本的兼容性
|
||||
|
||||
### 2. 用户界面改进
|
||||
|
||||
- 添加了模式选择单选框
|
||||
- 根据选择的模式动态更新标签和提示文本
|
||||
- 更清晰的帮助说明文档
|
||||
|
||||
### 3. 技术实现详情
|
||||
|
||||
#### 配置结构变更
|
||||
|
||||
```typescript
|
||||
const batchSettings = {
|
||||
openingStart: '0:00', // 片头开始时间
|
||||
openingEnd: '1:30', // 片头结束时间
|
||||
endingMode: 'remaining', // 新增:片尾模式选择
|
||||
endingStart: '2:00', // 片尾开始时间(默认改为剩余时间)
|
||||
endingEnd: '', // 片尾结束时间(可选)
|
||||
autoSkip: true, // 自动跳过开关
|
||||
autoNextEpisode: true, // 自动下一集开关
|
||||
};
|
||||
```
|
||||
|
||||
#### 核心逻辑变更
|
||||
|
||||
```typescript
|
||||
// 根据模式计算实际的开始时间
|
||||
let actualStartSeconds: number;
|
||||
if (batchSettings.endingMode === 'remaining') {
|
||||
// 剩余时间模式:从视频总长度减去剩余时间
|
||||
actualStartSeconds = duration - endingStartSeconds;
|
||||
} else {
|
||||
// 绝对时间模式:使用输入的时间
|
||||
actualStartSeconds = endingStartSeconds;
|
||||
}
|
||||
```
|
||||
|
||||
## 使用指南
|
||||
|
||||
### 设置剩余时间模式片尾(推荐)
|
||||
|
||||
1. 在视频播放页面点击跳过设置按钮
|
||||
2. 选择"片尾设置"部分
|
||||
3. 在"计时模式"中选择"剩余时间(推荐)"
|
||||
4. 在"剩余时间"字段输入期望的时间,例如 "2:00"
|
||||
5. 点击"保存批量设置"
|
||||
|
||||
这样设置后,当视频剩余时间为 2 分钟时,将开始倒计时并自动跳转到下一集。
|
||||
|
||||
### 设置绝对时间模式片尾(兼容性)
|
||||
|
||||
1. 在"计时模式"中选择"绝对时间"
|
||||
2. 在"开始时间"字段输入视频播放时间,例如 "20:00"
|
||||
3. 点击"保存批量设置"
|
||||
|
||||
这样设置后,当视频播放到第 20 分钟时,将开始检测片尾。
|
||||
|
||||
## 实际效果
|
||||
|
||||
### 剩余时间模式
|
||||
|
||||
- 对于 25 分钟的剧集,设置 "2:00" 剩余时间
|
||||
- 实际在第 23 分钟(25-2=23)开始倒计时
|
||||
- 倒计时 2 分钟后自动跳转下一集
|
||||
|
||||
### 绝对时间模式
|
||||
|
||||
- 设置 "20:00" 绝对时间
|
||||
- 实际在第 20 分钟开始检测片尾
|
||||
- 无论剧集长度如何,都在第 20 分钟触发
|
||||
|
||||
## 向后兼容性
|
||||
|
||||
- 现有的跳过配置会继续正常工作
|
||||
- 默认新配置使用推荐的剩余时间模式
|
||||
- 用户可以随时在两种模式间切换
|
||||
|
||||
## 技术细节
|
||||
|
||||
- 组件文件:`src/components/SkipController.tsx`
|
||||
- 核心倒计时逻辑已经支持剩余时间计算
|
||||
- 主要改进是配置界面和批量设置逻辑
|
||||
- 包含输入验证和错误处理
|
||||
|
||||
这个优化解决了用户提出的"片尾是倒计时,就是还有几分钟结束跳到下一集"的需求,让跳过功能更加智能和实用。
|
||||
Reference in New Issue
Block a user