mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-22 13:21:20 -08:00
17 lines
776 B
TypeScript
17 lines
776 B
TypeScript
import type { SubtitleCue } from './types'
|
|
|
|
export function refreshPausedCues(track: TextTrack | undefined, video: { paused?: boolean, currentTime?: number } | undefined, cues: readonly SubtitleCue[]): void {
|
|
if (!track || track.mode === 'disabled' || !video?.paused || !Number.isFinite(video.currentTime))
|
|
return
|
|
const time = video.currentTime!
|
|
const expected = cues.filter(cue => cue.startTime <= time && time < cue.endTime)
|
|
const active = Array.from(track.activeCues || [])
|
|
if (expected.length === active.length && expected.every((cue, index) => active[index] === cue))
|
|
return
|
|
// Some engines retain stale active flags after timing edits while paused.
|
|
for (const cue of cues)
|
|
track.removeCue(cue)
|
|
for (const cue of cues)
|
|
track.addCue(cue)
|
|
}
|