ajust playing time

This commit is contained in:
2026-08-29 22:22:24 +08:00
parent f93bb8d1ff
commit 6de1d4a3d0
2 changed files with 7 additions and 4 deletions

View File

@@ -43,6 +43,7 @@ dubAudio.preload = 'auto';
let segments = [];
let selectedIndex = 0;
let mode = null;
const PLAY_EXTEND_MS = 500;
function stopAll() {
video.pause();
@@ -63,13 +64,15 @@ function playOriginal() {
function syncDub() {
const timeMs = video.currentTime * 1000;
const sentence = segments[selectedIndex];
if (sentence && timeMs >= sentence.end_ms) {
if (sentence && timeMs >= sentence.end_ms + PLAY_EXTEND_MS) {
video.pause();
dubAudio.pause();
video.currentTime = sentence.end_ms / 1000;
video.currentTime = (sentence.end_ms + PLAY_EXTEND_MS) / 1000;
return;
}
const active = segments.find(item => timeMs >= item.start_ms && timeMs < item.end_ms);
const active = (sentence && timeMs >= sentence.start_ms && timeMs < sentence.end_ms + PLAY_EXTEND_MS)
? sentence
: segments.find(item => timeMs >= item.start_ms && timeMs < item.end_ms);
document.querySelectorAll('.sentence').forEach((node, index) => {
node.classList.toggle('active-sentence', segments[index] === active);
});