Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import time | |
| from PIL import Image | |
| import io | |
| # Variable globale pour stocker l'image reçue de la 3DS | |
| derniere_image = None | |
| def rafraichir_ecran(): | |
| global derniere_image | |
| # Cette fonction tourne en boucle sur ton téléphone pour mettre à jour l'affichage | |
| while True: | |
| time.sleep(0.05) # ~20 FPS | |
| yield dernie_image | |
| def recevoir_image_java(image_pil): | |
| global derniere_image | |
| derniere_image = image_pil | |
| return "Image reçue avec succès par Hugging Face" | |
| # Création de l'interface Gradio | |
| with gr.Blocks() as demo: | |
| gr.Markdown("# 3DS Stream - Écran de ton Téléphone") | |
| # Zone d'affichage pour ton téléphone | |
| affichage_video = gr.Image(label="Console 3DS", streaming=True) | |
| # Relance automatiquement la fonction pour rafraîchir l'image toutes les 50ms | |
| demo.load(rafraichir_ecran, outputs=affichage_video, every=0.05) | |
| # API cachée que ton programme Java va appeler | |
| input_image = gr.Image(type="pil", visible=False) | |
| bouton_api = gr.Button("Envoyer", visible=False) | |
| bouton_api.click(recevoir_image_java, inputs=input_image) | |
| # Active la file d'attente pour gérer le flux continu | |
| demo.queue().launch() |