Ymc3013 commited on
Commit
4a6400b
·
verified ·
1 Parent(s): c4192bf

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +37 -0
app.py ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import time
3
+ from PIL import Image
4
+ import io
5
+
6
+ # Variable globale pour stocker l'image reçue de la 3DS
7
+ derniere_image = None
8
+
9
+ def rafraichir_ecran():
10
+ global derniere_image
11
+ # Cette fonction tourne en boucle sur ton téléphone pour mettre à jour l'affichage
12
+ while True:
13
+ time.sleep(0.05) # ~20 FPS
14
+ yield dernie_image
15
+
16
+ def recevoir_image_java(image_pil):
17
+ global derniere_image
18
+ derniere_image = image_pil
19
+ return "Image reçue avec succès par Hugging Face"
20
+
21
+ # Création de l'interface Gradio
22
+ with gr.Blocks() as demo:
23
+ gr.Markdown("# 3DS Stream - Écran de ton Téléphone")
24
+
25
+ # Zone d'affichage pour ton téléphone
26
+ affichage_video = gr.Image(label="Console 3DS", streaming=True)
27
+
28
+ # Relance automatiquement la fonction pour rafraîchir l'image toutes les 50ms
29
+ demo.load(rafraichir_ecran, outputs=affichage_video, every=0.05)
30
+
31
+ # API cachée que ton programme Java va appeler
32
+ input_image = gr.Image(type="pil", visible=False)
33
+ bouton_api = gr.Button("Envoyer", visible=False)
34
+ bouton_api.click(recevoir_image_java, inputs=input_image)
35
+
36
+ # Active la file d'attente pour gérer le flux continu
37
+ demo.queue().launch()