PyGame

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Beltistos
User
Beiträge: 5
Registriert: Dienstag 20. November 2007, 17:56

Hallo,
veers hat geschrieben:Ich behaupte jetzt einfach mal dass das time.sleep für Probleme sorgt, ersetze es doch einfach einmal Testweise durch ein while True: pass;
Leider nein, es rauscht auch mit der Endlosschleife oder dem pygame-wait.
Y0Gi hat geschrieben:Ich würde da als erstes die Lautstärke sowie eventuelle Einschränkungen der nutzbaren Bitraten, VBR sowie andere Eigenschaften der Musikdaten überprüfen.
An der Datei liegt es sicher nicht, die lässt sich zum Beispiel mit Amarok perfekt abspielen. Außerdem rauscht es auch bei allen anderen Dateien, die ich getestet habe.

Sonst noch irgendwelche Ideen? :cry:

Beltistos
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Kann/muss man die Audioeinstellungen in Pygame mit bestimmten Optionen initialisieren? Vielleicht wird dein Soundchip falsch erkannt oder so *an die Zeiten von SB 16/Pro/AWE, Gus und Adlib erinner*
Imperator
User
Beiträge: 275
Registriert: Montag 20. August 2007, 14:43
Kontaktdaten:

Könnte es nicht auch an der Hardware selbst liegen?
Beltistos
User
Beiträge: 5
Registriert: Dienstag 20. November 2007, 17:56

Problem gelößt! :D
In der pygame.mixer-Dokumentation steht Folgendes:
NOTE: there is currently a bug on some windows machines which makes sound play back 'scratchy'. There is not enough cpu in the sound thread to feed the buffer to the sound api. To get around this you can increase the buffer size. However this means that there is more of a delay between the time you ask to play the sound and when it gets played. Try calling this before the pygame.init or pygame.mixer.init calls. pygame.mixer.pre_init(44100,-16,2, 1024 * 3)
Wenn man pygame.mixer mit den angegebenen Werten initialisiert, rauscht es nicht mehr. Eigentlich läuft bei mir ja Linux, aber was soll's.
Danke an alle die mir geholfen haben!

Beltistos
Imperator
User
Beiträge: 275
Registriert: Montag 20. August 2007, 14:43
Kontaktdaten:

Dann noch viel Spaß beim Coden mit Python!
Benutzeravatar
nkoehring
User
Beiträge: 543
Registriert: Mittwoch 7. Februar 2007, 17:37
Wohnort: naehe Halle/Saale
Kontaktdaten:

Beltistos hat geschrieben: Mein Code:

Code: Alles auswählen

import pygame
from pygame.mixer import music
import time

pygame.mixer.init()
music.load('/home/beltistos/Test.mp3')
music.play()
time.sleep(5)
music.stop()
pygame.mixer.quit()
Beltistos
Hi... ist schon ne Weile alt der Thread, aber ich wollte nur mal erwaehnen, dass es vielleicht besser ist einfach "pygame.mixer.music.get_busy()" abzufragen, anstatt eine Endlosschleife zu basteln:

Code: Alles auswählen

def playmusic(path):
    print "Mixer: init..."
    pygame.mixer.pre_init(44100,-16,2, 1024 * 3)
    pygame.mixer.init()
    print "Mixer: loading", os.path.basename(path)
    pygame.mixer.music.load(path)
    print "Mixer: play..."
    pygame.mixer.music.play()
    while pygame.mixer.music.get_busy():
        pygame.time.wait(200)
    print "quitting mixer..."
    pygame.mixer.quit()
    print "quitting pygame..."
    pygame.quit()
    return True
[url=http://www.python-forum.de/post-86552.html]~ Wahnsinn ist auch nur eine andere Form der Intelligenz ~[/url]
hackerkey://v4sw6CYUShw5pr7Uck3ma3/4u7LNw2/3TXGm5l6+GSOarch/i2e6+t2b9GOen7g5RAPa2XsMr2
Antworten