Spaces:
Paused
Paused
Commit ·
eacea91
1
Parent(s): 9dbd883
fix: pause playback on Ask click and tab switch (Explore/Clone)
Browse files- Add cancels=[play_event] to ask_btn.click
- Add explore_tab.select and clone_tab.select handlers to cancel TTS
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
app.py
CHANGED
|
@@ -947,7 +947,8 @@ with gr.Blocks(title="MomsVoice", css=css_code) as demo:
|
|
| 947 |
ask_btn.click(
|
| 948 |
enter_asking_state,
|
| 949 |
inputs=[],
|
| 950 |
-
outputs=[player_status_bar, play_btn, pause_btn, ask_btn, resume_btn, qa_panel, qa_input_group, answer_display, answer_audio]
|
|
|
|
| 951 |
)
|
| 952 |
|
| 953 |
# 9. Submit question
|
|
@@ -1074,5 +1075,28 @@ with gr.Blocks(title="MomsVoice", css=css_code) as demo:
|
|
| 1074 |
outputs=[player_status_bar, play_btn, pause_btn, ask_btn, resume_btn, qa_panel, qa_input_group, answer_display, answer_audio, question_text, question_audio]
|
| 1075 |
)
|
| 1076 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1077 |
if __name__ == "__main__":
|
| 1078 |
demo.queue().launch(allowed_paths=[str(Path(__file__).parent / "assets")])
|
|
|
|
| 947 |
ask_btn.click(
|
| 948 |
enter_asking_state,
|
| 949 |
inputs=[],
|
| 950 |
+
outputs=[player_status_bar, play_btn, pause_btn, ask_btn, resume_btn, qa_panel, qa_input_group, answer_display, answer_audio],
|
| 951 |
+
cancels=[play_event]
|
| 952 |
)
|
| 953 |
|
| 954 |
# 9. Submit question
|
|
|
|
| 1075 |
outputs=[player_status_bar, play_btn, pause_btn, ask_btn, resume_btn, qa_panel, qa_input_group, answer_display, answer_audio, question_text, question_audio]
|
| 1076 |
)
|
| 1077 |
|
| 1078 |
+
# 11. Pause playback when switching to other tabs
|
| 1079 |
+
def pause_on_tab_switch():
|
| 1080 |
+
status_html = """
|
| 1081 |
+
<div style="margin-top: 12px; display: flex; align-items: center; gap: 10px; justify-content: center;">
|
| 1082 |
+
<span style="width: 8px; height: 8px; border-radius: 50%; background: #f59e0b; display: inline-block;"></span>
|
| 1083 |
+
<span style="font-size: 11px; color: #f59e0b; font-family: monospace;">PAUSED</span>
|
| 1084 |
+
</div>
|
| 1085 |
+
"""
|
| 1086 |
+
return status_html, gr.Button(visible=True), gr.Button(visible=False)
|
| 1087 |
+
|
| 1088 |
+
explore_tab.select(
|
| 1089 |
+
pause_on_tab_switch,
|
| 1090 |
+
inputs=[],
|
| 1091 |
+
outputs=[player_status_bar, play_btn, pause_btn],
|
| 1092 |
+
cancels=[play_event]
|
| 1093 |
+
)
|
| 1094 |
+
clone_tab.select(
|
| 1095 |
+
pause_on_tab_switch,
|
| 1096 |
+
inputs=[],
|
| 1097 |
+
outputs=[player_status_bar, play_btn, pause_btn],
|
| 1098 |
+
cancels=[play_event]
|
| 1099 |
+
)
|
| 1100 |
+
|
| 1101 |
if __name__ == "__main__":
|
| 1102 |
demo.queue().launch(allowed_paths=[str(Path(__file__).parent / "assets")])
|