snakeseven hat geschrieben:Hallo,
Mit nachstehenden Zeilen lade ich ein WAV-File und spiele es über den angegebenen Pfad wieder ab. Welche Rolle spielt f ?
Zum Abspielen gar keine. Die beiden Module sind für unterschiedliche Zwecke. `winsound` um die Sound-API von Windows anzusprechen, z.B. WAV-Dateien abspielen und `wave` zum lesen und schreiben von WAV-Dateien. Das `wave` Modul gibt es unter allen Plattftormen, `winsound` natürlich nur unter Windows.
Wenn f kein String ist, der die Daten des WAV-Files enthält, was ist f dann ?
Ein `wave`-Objekt mit Methoden zum ermitteln der Kanalanzahl, Samplegrösse etc. und zum lesen oder schreiben von Sampledaten. Das braucht man, wenn man WAV-Daten lesen, analysieren oder selbst erzeugen möchte.
Jedenfalls bekomme ich eine Fehlermeldung, wenn ich "f" statt "path" in winsound eingebe:
import wave,winsound
path = "E:/Testwav.wav"
f = wave.open (path,"r")
winsound.PlaySound(path,winsound.SND_PURGE) #spielt korrekt ab
winsound.PlaySound(f,winsound.SND_PURGE) # Fehlermeldung
Wenn Du Probleme mit Fehlermeldungen beschreibst, dann ist es sehr hilfreich, wenn Du die Fehlermeldung mitlieferst. Am besten 1:1 in das Forum kopieren. Solche "Backtraces" sind meistens sehr informativ.
In diesem Fall liegt's einfach daran das `PlaySound` nichts mit den `wave`-Objekten anfangen kann.