From 6de1d4a3d099093f3a904da3e79700013cb3d6b7 Mon Sep 17 00:00:00 2001 From: Shuming Liu Date: Sat, 29 Aug 2026 22:22:24 +0800 Subject: [PATCH] ajust playing time --- android/sample-app/build.gradle.kts | 2 +- sentence_api/static/dub-share.html | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/android/sample-app/build.gradle.kts b/android/sample-app/build.gradle.kts index 384c7c9..2c78b0c 100644 --- a/android/sample-app/build.gradle.kts +++ b/android/sample-app/build.gradle.kts @@ -19,7 +19,7 @@ android { minSdk = 26 targetSdk = 35 versionCode = 1 - versionName = "0.1.1" + versionName = "0.1.2" } compileOptions { diff --git a/sentence_api/static/dub-share.html b/sentence_api/static/dub-share.html index 7132bad..f58bf4a 100644 --- a/sentence_api/static/dub-share.html +++ b/sentence_api/static/dub-share.html @@ -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); });