Spaces:
Sleeping
Sleeping
unknown commited on
Commit ·
9a5efb7
1
Parent(s): 26876a0
play2
Browse files
app.py
CHANGED
|
@@ -522,21 +522,15 @@ def play_on_select(
|
|
| 522 |
state,
|
| 523 |
):
|
| 524 |
if not state or "aligned" not in state:
|
| 525 |
-
raise gr.Error("请先
|
| 526 |
|
| 527 |
-
# evt.index 在 gradio 里可能是:
|
| 528 |
-
# - int: 行号
|
| 529 |
-
# - tuple(row, col)
|
| 530 |
idx_raw = evt.index
|
| 531 |
-
if isinstance(idx_raw, (tuple, list))
|
| 532 |
-
row = int(idx_raw[0])
|
| 533 |
-
else:
|
| 534 |
-
row = int(idx_raw)
|
| 535 |
|
| 536 |
if not df_value or row < 0 or row >= len(df_value):
|
| 537 |
raise gr.Error("无法读取选中行,请重试。")
|
| 538 |
|
| 539 |
-
seg_idx = int(df_value[row][0])
|
| 540 |
seg = state["aligned"][seg_idx - 1]
|
| 541 |
|
| 542 |
a_start, a_end, b_start, b_end = pick_window(
|
|
@@ -549,18 +543,18 @@ def play_on_select(
|
|
| 549 |
info = {
|
| 550 |
"segment": seg_idx,
|
| 551 |
"play_mode": play_mode,
|
| 552 |
-
"crop_mode": crop_mode,
|
| 553 |
-
"offset_a_sec": float(offset_a),
|
| 554 |
-
"offset_b_sec": float(offset_b),
|
| 555 |
"A_time": f"{a_start:.2f}-{a_end:.2f}",
|
| 556 |
"B_time": f"{b_start:.2f}-{b_end:.2f}",
|
| 557 |
}
|
| 558 |
|
|
|
|
| 559 |
if play_mode == "A":
|
| 560 |
-
return a_wav, None, info
|
| 561 |
-
|
| 562 |
-
return None, b_wav, info
|
| 563 |
-
|
|
|
|
|
|
|
| 564 |
|
| 565 |
|
| 566 |
# =========================================================
|
|
|
|
| 522 |
state,
|
| 523 |
):
|
| 524 |
if not state or "aligned" not in state:
|
| 525 |
+
raise gr.Error("请先加载并对齐。")
|
| 526 |
|
|
|
|
|
|
|
|
|
|
| 527 |
idx_raw = evt.index
|
| 528 |
+
row = int(idx_raw[0] if isinstance(idx_raw, (tuple, list)) else idx_raw)
|
|
|
|
|
|
|
|
|
|
| 529 |
|
| 530 |
if not df_value or row < 0 or row >= len(df_value):
|
| 531 |
raise gr.Error("无法读取选中行,请重试。")
|
| 532 |
|
| 533 |
+
seg_idx = int(df_value[row][0])
|
| 534 |
seg = state["aligned"][seg_idx - 1]
|
| 535 |
|
| 536 |
a_start, a_end, b_start, b_end = pick_window(
|
|
|
|
| 543 |
info = {
|
| 544 |
"segment": seg_idx,
|
| 545 |
"play_mode": play_mode,
|
|
|
|
|
|
|
|
|
|
| 546 |
"A_time": f"{a_start:.2f}-{a_end:.2f}",
|
| 547 |
"B_time": f"{b_start:.2f}-{b_end:.2f}",
|
| 548 |
}
|
| 549 |
|
| 550 |
+
# ✅ 关键修复:不要返回 None
|
| 551 |
if play_mode == "A":
|
| 552 |
+
return a_wav, gr.update(value=None), info
|
| 553 |
+
elif play_mode == "B":
|
| 554 |
+
return gr.update(value=None), b_wav, info
|
| 555 |
+
else:
|
| 556 |
+
return a_wav, b_wav, info
|
| 557 |
+
|
| 558 |
|
| 559 |
|
| 560 |
# =========================================================
|