Spaces:
Running
on
Zero
Running
on
Zero
Update app.py
Browse files
app.py
CHANGED
@@ -353,56 +353,58 @@ function initializeControls() {
|
|
353 |
|
354 |
// 如果元素还没准备好,直接返回
|
355 |
if (!video || !waveform) {
|
|
|
356 |
return;
|
357 |
}
|
358 |
|
359 |
// 尝试获取音频元素
|
360 |
const audio = waveform.querySelector('div')?.shadowRoot?.querySelector('audio');
|
361 |
if (!audio) {
|
|
|
362 |
return;
|
363 |
}
|
364 |
|
365 |
console.log('Elements found:', { video, audio });
|
366 |
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
}
|
407 |
|
408 |
// 创建观察器监听DOM变化
|
|
|
353 |
|
354 |
// 如果元素还没准备好,直接返回
|
355 |
if (!video || !waveform) {
|
356 |
+
console.log("Video or waveform element not found");
|
357 |
return;
|
358 |
}
|
359 |
|
360 |
// 尝试获取音频元素
|
361 |
const audio = waveform.querySelector('div')?.shadowRoot?.querySelector('audio');
|
362 |
if (!audio) {
|
363 |
+
console.log("Audio element not found");
|
364 |
return;
|
365 |
}
|
366 |
|
367 |
console.log('Elements found:', { video, audio });
|
368 |
|
369 |
+
// 监听视频播放进度
|
370 |
+
video.addEventListener("play", () => {
|
371 |
+
if (audio.paused) {
|
372 |
+
audio.play(); // 如果音频暂停,开始播放
|
373 |
+
}
|
374 |
+
});
|
375 |
|
376 |
+
// 监听音频播放进度
|
377 |
+
audio.addEventListener("play", () => {
|
378 |
+
if (video.paused) {
|
379 |
+
video.play(); // 如果视频暂停,开始播放
|
380 |
+
}
|
381 |
+
});
|
382 |
|
383 |
+
// 同步视频和音频的播放进度
|
384 |
+
video.addEventListener("timeupdate", () => {
|
385 |
+
if (Math.abs(video.currentTime - audio.currentTime) > 0.1) {
|
386 |
+
audio.currentTime = video.currentTime; // 如果时间差超过0.1秒,同步
|
387 |
+
}
|
388 |
+
});
|
389 |
|
390 |
+
audio.addEventListener("timeupdate", () => {
|
391 |
+
if (Math.abs(audio.currentTime - video.currentTime) > 0.1) {
|
392 |
+
video.currentTime = audio.currentTime; // 如果时间差超过0.1秒,同步
|
393 |
+
}
|
394 |
+
});
|
395 |
|
396 |
+
// 监听暂停事件,确保视频和音频都暂停
|
397 |
+
video.addEventListener("pause", () => {
|
398 |
+
if (!audio.paused) {
|
399 |
+
audio.pause(); // 如果音频未暂停,暂停音频
|
400 |
+
}
|
401 |
+
});
|
402 |
|
403 |
+
audio.addEventListener("pause", () => {
|
404 |
+
if (!video.paused) {
|
405 |
+
video.pause(); // 如果视频未暂停,暂停视频
|
406 |
+
}
|
407 |
+
});
|
408 |
}
|
409 |
|
410 |
// 创建观察器监听DOM变化
|