File size: 2,226 Bytes
7f4441c
 
59a89e4
 
 
 
7f4441c
5e95e64
7f4441c
59a89e4
 
 
 
c558203
5e95e64
1746c02
cbfbd5b
59a89e4
 
 
 
1746c02
cbfbd5b
 
c558203
 
59a89e4
 
 
 
c558203
 
 
7f4441c
17411ab
 
 
 
 
c558203
17411ab
1746c02
59a89e4
c558203
1746c02
 
c558203
 
 
59a89e4
c558203
 
 
 
17411ab
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import gradio as gr

# μƒνƒœλ₯Ό κ΄€λ¦¬ν•˜λŠ” μ „μ—­ λ³€μˆ˜
submitted_question = ""
recordings = {}
comments = {}

# μ„ μƒλ‹˜μ˜ 질문 μž…λ ₯ λ°›κΈ°
def teacher_question(question):
    global submitted_question
    submitted_question = question
    recordings[submitted_question] = []
    comments[submitted_question] = []
    return question

# ν•™μƒλ“€μ˜ μŒμ„± λ…ΉμŒ 및 μ €μž₯
def record_student_voice(voice):
    global submitted_question
    if submitted_question:
        recordings[submitted_question].append(voice)
        return f"Voice recorded successfully for question: {submitted_question}"
    else:
        return "Please submit a question first."

# λŒ“κΈ€ μ €μž₯
def write_comment(comment):
    global submitted_question
    if submitted_question:
        comments[submitted_question].append(comment)
        return f"Comment added successfully for question: {submitted_question}"
    else:
        return "Please submit a question first."

# Gradio μΈν„°νŽ˜μ΄μŠ€ μ •μ˜
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"):
        question_display = gr.Textbox(label="Question", interactive=False, value=lambda: submitted_question)
        voice_input = gr.Audio(type="numpy", label="Record your voice")
        submit_voice = gr.Button("Submit Voice")
        output_voice = gr.Textbox(label="Status")
        submit_voice.click(record_student_voice, inputs=[voice_input], outputs=output_voice)

    with gr.Tab("Write Comment"):
        comment_display = gr.Textbox(label="Question", interactive=False, value=lambda: submitted_question)
        comment_input = gr.Textbox(placeholder="Your comment", label="Comment")
        submit_comment = gr.Button("Submit Comment")
        output_comment = gr.Textbox(label="Status")
        submit_comment.click(write_comment, inputs=[comment_input], outputs=output_comment)

demo.launch()