fixxed buffer

This commit is contained in:
oberon 2026-02-16 21:53:09 +01:00
parent 96f37ab27d
commit db655c381d
3 changed files with 21 additions and 4 deletions

View File

@ -31,8 +31,13 @@ def create_app():
init_bluetooth()
# pygame initialisieren (einmalig)
pygame.mixer.init(frequency=44100, size=-16, channels=2, buffer=512)
pygame.mixer.set_num_channels(16) # genug parallele Kanäle für BG + Effekte
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")

View File

@ -18,9 +18,14 @@ audio_lock = threading.Lock()
loaded_sounds = {}
def _ensure_mixer():
from config import Config
if not pygame.mixer.get_init():
pygame.mixer.init(frequency=44100, size=-16, channels=2, buffer=512)
pygame.mixer.set_num_channels(16)
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)
def _load_sound(file_path):
if file_path in loaded_sounds:

View File

@ -13,5 +13,12 @@ class Config:
LOG_DIR = os.path.join(BASE_DIR, 'logs')
SOUNDS_DIR = os.path.join(BASE_DIR, 'sounds')
# Audio-Parameter (für pygame.mixer)
AUDIO_FREQ = 44100
AUDIO_SIZE = -16
AUDIO_CHANNELS = 2
AUDIO_BUFFER = 2048 # größerer Buffer reduziert Knacksen
AUDIO_NUM_CHANNELS = 16
# Optional: absolute Pfade, falls du später Docker o.ä. nutzt
# CONFIG_DIR = os.path.join(os.path.dirname(__file__), 'configs')