Skip to content

Player: skip, playback rates, bilingual subtitles, long-cue paging#25

Merged
TN019 merged 1 commit into
mainfrom
player-controls
Jul 26, 2026
Merged

Player: skip, playback rates, bilingual subtitles, long-cue paging#25
TN019 merged 1 commit into
mainfrom
player-controls

Conversation

@TN019

@TN019 TN019 commented Jul 26, 2026

Copy link
Copy Markdown
Owner

背景

播放器第一版(#24)只有播放/暂停和进度条,字幕也只支持单轨。补齐观看体验。

改动与实现

  • ±10 秒跳转:⏪10 / 10⏩ 按钮,越界自动钳制到 [0, duration],跳转后字幕立即刷新
  • 倍速:0.25x / 0.5x / 1x / 1.5x / 2x / 2.5x / 3x 下拉,直通 QMediaPlayer.setPlaybackRate
  • 多语言字幕:播放入口现在把该文件的全部 .srt 轨都交给播放器(当前查看的语言排第一)。1 轨直接显示;2 轨上下叠显(主轨 16px,副轨 14px 稍小);3 轨及以上由控制条上的两个选择器挑选(默认:当前语言 + 无)。渲染仍是自绘覆盖层,与后端字幕轨无关
  • 超长字幕分页:单条超过 100 字符时按词边界切块(无空格的中日韩文本按定长硬切,任意切点均可),切出的 N 块均分该条字幕的时间区间顺序显示——长段落以稳定节奏翻页,而不是糊满屏幕挂 20 秒
  • 上一条 main 上的窗口尺寸修复(QVideoWidget sizeHint 膨胀)已包含在基线中

验证

  • uv run pytest -q:163 passed / 5 skipped。新增:按词切块不拆词不丢词、CJK 硬切、长 cue 均分时间(6s/3 块 = 起止 [10s,12s,14s] 连续无缝)
  • 离屏实播冒烟:双轨同时叠显(英上中下)、倍速 2.0 生效、快退越界钳制到 0、选择器在 ≥2 轨时出现
  • 待人工确认:实机双语字幕观感、长讲座字幕的翻页节奏

…s with track selectors, and long cues split word-safe across their time span.
@TN019
TN019 merged commit c608e6b into main Jul 26, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant