fixxed alsa sound problems

This commit is contained in:
2026-10-05 11:33:37 +02:00
parent f7654fa8ea
commit 2e311119b0
10 changed files with 42 additions and 29 deletions
+22 -13
View File
@@ -4,14 +4,10 @@ import logging
import threading
import time
import os
import pygame
from flask import Flask
from .utils.logging import setup_logging, cleanup_old_log_dirs
from .routes.main import main_bp
from .routes.admin import admin_bp
from .routes.api import api_bp
from .bluetooth.manager import init_bluetooth
logger = logging.getLogger(__name__) # ← Logger für diese Datei
@@ -30,16 +26,29 @@ def create_app():
# Bluetooth initialisieren (Monitor-Thread startet automatisch)
init_bluetooth()
# pygame initialisieren (einmalig)
# pygame initialisieren (einmalig). Ein Audiofehler darf die Hub-Steuerung
# nicht am Start hindern; die API versucht die Initialisierung später erneut.
from config import Config
pygame.mixer.pre_init(frequency=Config.AUDIO_FREQ,
size=Config.AUDIO_SIZE,
channels=Config.AUDIO_CHANNELS,
buffer=Config.AUDIO_BUFFER)
pygame.mixer.init()
pygame.mixer.set_num_channels(Config.AUDIO_NUM_CHANNELS) # genug parallele Kanäle für BG + Effekte
pygame.mixer.music.set_volume(0.8) # Standard-Lautstärke (für Legacy-Fälle)
app.logger.info("pygame initialisiert")
if Config.AUDIO_DEVICE:
os.environ['AUDIODEV'] = Config.AUDIO_DEVICE
import pygame
try:
init_args = {
'frequency': Config.AUDIO_FREQ,
'size': Config.AUDIO_SIZE,
'channels': Config.AUDIO_CHANNELS,
'buffer': Config.AUDIO_BUFFER,
}
if Config.AUDIO_DEVICE:
init_args['devicename'] = Config.AUDIO_DEVICE
pygame.mixer.init(**init_args)
pygame.mixer.set_num_channels(Config.AUDIO_NUM_CHANNELS)
pygame.mixer.music.set_volume(0.8)
app.logger.info(f"pygame initialisiert (Gerät: {Config.AUDIO_DEVICE or 'SDL-Standard'})")
except pygame.error as e:
app.logger.error(f"Audio konnte nicht initialisiert werden: {e}")
if Config.AUDIO_REQUIRED:
raise
# Blueprints registrieren
from .routes.main import main_bp