Einfachste Klasse zur Soundausgabe
Verfasst: Donnerstag 9. Januar 2014, 18:47
Moin,
ich habe folgendes Problem. Vielleicht kann mir ja jemand von euch hier kurz weiterhelfen, ich durchblick das mit den Klassen irgendwie noch nicht so ganz...
Ich möchte eine Klasse "Sound" erstellen, welche div. innerhalb der Klasse definierte Attribute (Soundfiles) über eine Methode "play" wiedergeben kann.
Der Einfachheit halber nutze ich dafür PyGame. Über Alternativen welche in der Standard-lib von Python(3) sind, freue ich mich natürlich. Auch wenn sie nur ein bestimmtes Dateiformat (.wav zB) außer FLAC (=zu groß) abspielen können.
Ich habe folgenden Code geschrieben, und Python gibt mir immer wieder einen NameError - "SoundfileX is not defined".
Pygame ist natürlich importiert und initiiert.
Wen es wundert, warum bei "pygame.mixer.music.play()" kein Attribut eingeklammert ist: ich habe es mit und ohne "...(soundfile)" probiert, check_snd bleibt weiterhin unbekannt und bei normaler Verwendung in einer Funktion (oder zu Testzwecken im Hauptstrang des Codes) muss bei pygame.mixer.music.load() zwar die Variable eingetragen werden, nicht jedoch bei pygame.mixer.music.play()
Ich denke, ich initiiere die Klasse entweder falsch. Ausprobiert habe ich jedoch auch, die vier Soundvaraiblen direkt unter den DocString zu platzieren, ebenso sie in der __init__ zu benennen - alles führte bisher aufs gleiche Ergebnis raus... :K
ich habe folgendes Problem. Vielleicht kann mir ja jemand von euch hier kurz weiterhelfen, ich durchblick das mit den Klassen irgendwie noch nicht so ganz...
Ich möchte eine Klasse "Sound" erstellen, welche div. innerhalb der Klasse definierte Attribute (Soundfiles) über eine Methode "play" wiedergeben kann.
Der Einfachheit halber nutze ich dafür PyGame. Über Alternativen welche in der Standard-lib von Python(3) sind, freue ich mich natürlich. Auch wenn sie nur ein bestimmtes Dateiformat (.wav zB) außer FLAC (=zu groß) abspielen können.
Ich habe folgenden Code geschrieben, und Python gibt mir immer wieder einen NameError - "SoundfileX is not defined".
Code: Alles auswählen
Sound.play(check_snd)
NameError: name 'check_snd' is not defined
Code: Alles auswählen
class Sound:
'''Die Sound-Klasse soll bei Aufruf eine Sounddatei abspielen.'''
def __init__(self, soundfiles):
self.play = play
self.soundfile = soundfiles
def soundfiles(self):
noticed_snd = 'signatur-Dil-7491_hifi.mp3'
bkgrnd_people_snd = 'People_T-Doogens-8720_hifi.mp3'
win_snd = 'Applause-SFXsourc-9027_hifi.mp3'
check_snd = 'plim-Gato_pre-7790_hifi.mp3'
def play(self, soundfile):
pygame.mixer.music.load(soundfile)
pygame.mixer.music.play()
Sound.play(check_snd)
Ich denke, ich initiiere die Klasse entweder falsch. Ausprobiert habe ich jedoch auch, die vier Soundvaraiblen direkt unter den DocString zu platzieren, ebenso sie in der __init__ zu benennen - alles führte bisher aufs gleiche Ergebnis raus... :K