winsound !?

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.
Benutzeravatar
snakeseven
User
Beiträge: 405
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

winsound !?

Beitragvon snakeseven » Sonntag 20. November 2005, 18:35

Hallo,
Mit nachstehenden Zeilen lade ich ein WAV-File und spiele es über den angegebenen Pfad wieder ab. Welche Rolle spielt f ?
Wenn f kein String ist, der die Daten des WAV-Files enthält, was ist f dann ?
Jedenfalls bekomme ich eine Fehlermeldung, wenn ich "f" statt "path" in winsound eingebe:

Code: Alles auswählen

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


Die Methoden getnframes() und getsampwidth() liefern widerum korrekt ab:

Code: Alles auswählen

len = f.getnframes ()     #12752
wd  = f.getsampwidth ()   #2

:roll:

Edit (Leonidas): Code in Python-Tags gesetzt.
BlackJack

Re: winsound !?

Beitragvon BlackJack » Montag 21. November 2005, 01:10

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.
Benutzeravatar
snakeseven
User
Beiträge: 405
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

Beitragvon snakeseven » Montag 21. November 2005, 15:36

Danke dir,
habe jetzt tk-snack installiert und die Soundsachen laufen ohne Zicken einfach und direkt. Kann ich nur empfehlen !

http://www.speech.kth.se/snack/

Wer ist online?

Mitglieder in diesem Forum: __deets__, Bing [Bot], markjohannes