fixxed alsa sound problems
This commit is contained in:
+22
-13
@@ -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
|
||||
|
||||
Binary file not shown.
Binary file not shown.
+9
-6
@@ -29,13 +29,16 @@ DEFAULT_MAX_PER_HOUR = 2
|
||||
DEFAULT_WINDOW_SECONDS = 3600
|
||||
|
||||
def _ensure_mixer():
|
||||
from config import Config
|
||||
if not pygame.mixer.get_init():
|
||||
pygame.mixer.pre_init(frequency=Config.AUDIO_FREQ,
|
||||
size=Config.AUDIO_SIZE,
|
||||
channels=Config.AUDIO_CHANNELS,
|
||||
buffer=Config.AUDIO_BUFFER)
|
||||
pygame.mixer.init()
|
||||
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)
|
||||
|
||||
def _load_sound(file_path):
|
||||
|
||||
Reference in New Issue
Block a user