Seite 1 von 1
Pygame muss man .wav Datei irgendwo einfügen?
Verfasst: Montag 14. Juli 2014, 18:06
von Duardo
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.
Re: Pygame muss man .wav Datei irgendwo einfügen?
Verfasst: Montag 14. Juli 2014, 18:21
von /me
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?
Nein, musst du nicht. Auch dein eigener Programmcode sollte nicht im Ordner der Python-Installation liegen.
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.
Re: Pygame muss man .wav Datei irgendwo einfügen?
Verfasst: Montag 14. Juli 2014, 18:26
von Duardo
@/me:
Code: Alles auswählen
import pygame
pygame.init()
sound=pygame.mixer.Sound("test.wav")
sound.play()
Ist aber sehr simpel gehalten, hab erst heute mit pygame angefangen.
Re: Pygame muss man .wav Datei irgendwo einfügen?
Verfasst: Montag 14. Juli 2014, 18:34
von mutetella
@Duardo
Wie komplex hättest Du Dir das denn vorgestellt?
mutetella
Re: Pygame muss man .wav Datei irgendwo einfügen?
Verfasst: Montag 14. Juli 2014, 18:35
von /me
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.
Code: Alles auswählen
import os
pathname = os.path.dirname(__file__)
print(pathname)
Wenn jetzt deine Sounddatei im gleichen Verzeichnis liegt wie das Programm, dann kannst du den Pfad dorthin einfach zusammensetzen.
Code: Alles auswählen
import os
pathname = os.path.dirname(__file__)
filename = os.path.join(pathname, 'test.wav')
print(filename)
Befindet sich die Datei in einem Unterordner namens
sounds, dann ist es auch nicht schwieriger.
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.
Re: Pygame muss man .wav Datei irgendwo einfügen?
Verfasst: Montag 14. Juli 2014, 18:43
von BlackJack
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.
Re: Pygame muss man .wav Datei irgendwo einfügen?
Verfasst: Montag 14. Juli 2014, 18:49
von Duardo
@/me: Also ich habe die .wavdatei jetzt in das reingepackt was in deinem ersten Code rauskam. Wenn ich das jetzt aber ausführe höre ich immer noch nichts.
Re: Pygame muss man .wav Datei irgendwo einfügen?
Verfasst: Montag 14. Juli 2014, 18:49
von EyDu
BlackJack hat dir die Lösung schon verraten.
Re: Pygame muss man .wav Datei irgendwo einfügen?
Verfasst: Montag 14. Juli 2014, 18:51
von /me
Duardo hat geschrieben:Wenn ich das jetzt aber ausführe höre ich immer noch nichts.
Dann setz doch testweise mal Folgendes ans Ende deines Codes:
Re: Pygame muss man .wav Datei irgendwo einfügen?
Verfasst: Montag 14. Juli 2014, 18:54
von Duardo
Hm, Ich höre immer noch nichts.
Re: Pygame muss man .wav Datei irgendwo einfügen?
Verfasst: Montag 14. Juli 2014, 19:05
von EyDu
"Funktioniert nicht" ist keine Fehlerbeschreibung. Was passiert denn?
Re: Pygame muss man .wav Datei irgendwo einfügen?
Verfasst: Montag 14. Juli 2014, 19:06
von Duardo
EyDu hat geschrieben:"Funktioniert nicht" ist keine Fehlerbeschreibung. Was passiert denn?
Es passiert nichts. Ich sehe nichts und ich höre nichts.
Re: Pygame muss man .wav Datei irgendwo einfügen?
Verfasst: Montag 14. Juli 2014, 19:10
von Duardo
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()