Ich habe versucht mit pygame eine Audiodatei einzufügen. Muss ich die Datei noch in den python Odner oder irgendwas in der Art verschieben?
Schonmal danke im voraus.
Pygame muss man .wav Datei irgendwo einfügen?
Nein, musst du nicht. Auch dein eigener Programmcode sollte nicht im Ordner der Python-Installation liegen.Duardo hat geschrieben:Ich habe versucht mit pygame eine Audiodatei einzufügen. Muss ich die Datei noch in den python Odner oder irgendwas in der Art verschieben?
Vielleicht zeigst du mal deinen Code damit wir das konkrete Problem erkennen können. Ich vermute ja, dass du versuchst die Datei im falschen Ordner zu öffnen.
@/me:
Ist aber sehr simpel gehalten, hab erst heute mit pygame angefangen.
Code: Alles auswählen
import pygame
pygame.init()
sound=pygame.mixer.Sound("test.wav")
sound.play()
@Duardo
Wie komplex hättest Du Dir das denn vorgestellt?
mutetella
Wie komplex hättest Du Dir das denn vorgestellt?
mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit )
Das funktioniert exakt dann, wenn die Datei test.wav im dem Verzeichnis liegt aus dem heraus du das Programm aufrufst. Es wäre wohl besser, wenn du den Pfad zur Datei komplett angibst. Um das flexibel zu halten bieten sich ein paar Standardfunktionen an. Man muss nur wissen, dass in einem Python-Programm __file__ den Pfad zur aktuellen Datei enthält.
Lass mal Folgendes in einem Skript laufen, dann siehst du was gemeint ist.
Mit den passenden Bordmitteln von Python bekommst du auch den Pfad.
Wenn jetzt deine Sounddatei im gleichen Verzeichnis liegt wie das Programm, dann kannst du den Pfad dorthin einfach zusammensetzen.
Befindet sich die Datei in einem Unterordner namens sounds, dann ist es auch nicht schwieriger.
Es ist übrigens sehr hilfreich, wenn du nicht einfach ein "geht nicht" in den Raum wirfst, sondern auch beschreibst, was du erwartest was passieren sollte, was stattdessen passiert ist und welche Fehlermeldung du gegebenenfalls bekommen hast.
Lass mal Folgendes in einem Skript laufen, dann siehst du was gemeint ist.
Code: Alles auswählen
print(__file__)
Code: Alles auswählen
import os
pathname = os.path.dirname(__file__)
print(pathname)
Code: Alles auswählen
import os
pathname = os.path.dirname(__file__)
filename = os.path.join(pathname, 'test.wav')
print(filename)
Code: Alles auswählen
import os
pathname = os.path.dirname(__file__)
filename = os.path.join(pathname, 'sounds', 'test.wav')
print(filename)
Es ist übrigens sehr hilfreich, wenn du nicht einfach ein "geht nicht" in den Raum wirfst, sondern auch beschreibst, was du erwartest was passieren sollte, was stattdessen passiert ist und welche Fehlermeldung du gegebenenfalls bekommen hast.
Bezüglich der fehlenden Problembeschreibung vermute ich einfach mal das nix zu hören ist weil das Programm sofort wieder beendet wird, weil das abspielen von Sound/Musik natürlich asynchron passiert, sonst könnte man ja nicht gleichzeitig ein Spiel am laufen halten.
Dann setz doch testweise mal Folgendes ans Ende deines Codes:Duardo hat geschrieben:Wenn ich das jetzt aber ausführe höre ich immer noch nichts.
Code: Alles auswählen
import time
time.sleep(5)
Es hat doch funktioniert. Ich hab das mit einem Button gemacht und plötzlich gings. Danke an alle für die Hilfe.
Code: Alles auswählen
import pygame
from Tkinter import *
pygame.init()
def sound():
sound=pygame.mixer.Sound("test.wav")
sound.play()
button=Button(text="Knopf", command=sound)
button.pack()
mainloop()