Spaces:
Runtime error
Runtime error
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变化
|