Sound mit pygame.mixer spielt verzögert

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen,

    ich möchte gerne ein Spiel in Python mit Sounds erstellen. Zum Test habe ich ein kleines Programm geschrieben, das bei beliebigen Tastendruck einen Ton ausgibt und zugleich eine Ausgabe auf der Konsole erzeugt. Die Ausgabe erscheint nach einem Tastendruck auch sofort, Der Sound wird allerdings mit einer Verzögerungszeit von ca einer Sekunde abgespielt. Wie kommt diese Verzögerung zustande und gibt es ein Möglichkeit diese zu verringern?

    [font="Courier"]
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    import pygame, sys
    import RPi.GPIO as GPIO
    from pygame.locals import *
    pygame.init()
    pygame.mixer.quit()
    pygame.mixer.init()

    gameSurface=pygame.display.set_mode((400, 300))
    pygame.display.set_caption("Test Sound")
    pygame.mouse.set_visible(0)

    sound = pygame.mixer.Sound("/home/pi/Documents/sounds/sound_bsp.wav")

    # Main
    while True:

    for event in pygame.event.get():
    if event.type == KEYDOWN:
    if event.key == K_0: # end
    pygame.quit()
    sys.exit()
    else:
    sound.play()
    print "sound"
    continue[/font]

    • Offizieller Beitrag

    Naja, testweise kannst du sie ja mal abklemmen und schauen obs auch dann noch funktioniert. Desweiteren kann ich die nur den Tipp geben, deinen Code auch in Code Tags zu packen und passend einzurücken. So kann man schnell mal was copy + pasten und muss sich nicht erst Gedanken darüber machen, was uns der Author eigentlich sagen will.

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

    Einmal editiert, zuletzt von dbv (17. Februar 2015 um 15:26)

  • So besser? :)

  • Das Problem konnte ich beheben, indem ich mir eine USB Soundkarte für 10 € besorgt habe. Die eingebaute Soundkarte scheint offensichtlich mit realtime Probleme zu haben.
    Über die neue Soundkarte kommt es nicht mehr zu Verzögerungen.

    :thumbs1:

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!