|
import gradio as gr |
|
|
|
|
|
recordings = {} |
|
|
|
|
|
submitted_question = "" |
|
|
|
|
|
def teacher_question(question): |
|
global submitted_question |
|
submitted_question = question |
|
return "", question |
|
|
|
|
|
def record_student_voice(voice): |
|
global submitted_question |
|
if submitted_question: |
|
if submitted_question in recordings: |
|
recordings[submitted_question].append(voice) |
|
else: |
|
recordings[submitted_question] = [voice] |
|
return "Voice recorded successfully for question: " + submitted_question |
|
else: |
|
return "Please submit a question first." |
|
|
|
|
|
with gr.Blocks() as demo: |
|
with gr.Tab("Teacher's Question"): |
|
question_input = gr.Textbox(lines=2, placeholder="Enter your question here...", label="Teacher's Question") |
|
submit_question = gr.Button("Submit") |
|
output_question = gr.Textbox(label="Submitted Question") |
|
submit_question.click(teacher_question, inputs=question_input, outputs=[output_question]) |
|
|
|
with gr.Tab("Record Voice"): |
|
submit_voice = gr.Button("Submit Voice") |
|
output_voice = gr.Textbox(label="Status") |
|
submit_voice.click(record_student_voice, outputs=output_voice) |
|
|
|
def update_question_display(question): |
|
output_voice.value = "Recording for question: " + question |
|
|
|
demo.load(update_question_display, inputs=output_question) |
|
|
|
demo.launch() |
|
|