ajust playing time
This commit is contained in:
@@ -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);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user