From 434abad282df1af77dd42c76c5d2c619a09ea323 Mon Sep 17 00:00:00 2001 From: oberon Date: Mon, 16 Feb 2026 21:08:52 +0100 Subject: [PATCH] api.py: play_sound nutzt jetzt kein Thread und keine Busy-Wait-Schleife mehr. --- app/routes/api.py | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/app/routes/api.py b/app/routes/api.py index f12895b..6666aa9 100644 --- a/app/routes/api.py +++ b/app/routes/api.py @@ -220,17 +220,13 @@ def api_play_sound(): logger.error(f"Sound-Datei nicht gefunden: {file_path}") return jsonify({"success": False, "message": "Sound-Datei nicht gefunden"}), 404 - # Sound in separatem Thread abspielen (blockiert nicht) - def play(): - try: - pygame.mixer.music.load(file_path) - pygame.mixer.music.play() - while pygame.mixer.music.get_busy(): - time.sleep(0.1) - except Exception as e: - logger.error(f"Fehler beim Abspielen von {file_path}: {e}") - - threading.Thread(target=play, daemon=True).start() + # Abspielen (non-blocking, kein eigener Thread nötig) + try: + pygame.mixer.music.load(file_path) + pygame.mixer.music.play() + except Exception as e: + logger.exception(f"Fehler beim Abspielen von {file_path}") + return jsonify({"success": False, "message": str(e)}), 500 logger.info(f"Spiele Sound: {sound_entry['name']} ({sound_id})") return jsonify({"success": True, "message": f"Spiele: {sound_entry['name']}"})