Sound einer bestimmten Frequenz über "normale" Lautsprecher ausgeben...
-
Ich hab mal den Beispielcode aus dem Buch "Windows-Programmierung: Das Entwicklerhandbuch zur WIN32-API" hochgeladen.
http://rapidshare.com/files/247040708/SineWave.rar.html
Das macht genau das, was du brauchst.
-
Wow, danke! Jetzt muss ich mich darin nur noch ein wenig äh...umsehen, und dann das in mein Programm einbauen
-
DWORD dwFreq= 13000; //Frequenz (hier 13000 Hz) DWORD dwDuration =1000; //Dauer (hier 1 sek) //zugehörige Fkt Beep( dwFreq, // sound frequency dwDuration // sound duration );
-
Ähm, wie du bereits meinem ersten Beitrag entnehmen kannst, war ich schon so weit :o
-
Ok, es hat alles Perfekt funktioniert. Allerdings stürtzt mein Programm beim Beenden ab
, aber das ist erstmal nicht so wichtig.
Danke!
-
Dann lass es mal im Debugger laufen, und guck WO es abstürzt, und versuch draufzukommen warum.
Wenn dein Programm nämlich abstürzt, weil deine Funktion irgendwo Speicher überschreibt, den sie nicht überschreiben sollte, dann ist das schon wichtig. Dann könnte das nämlich dazu führen, dass dein Programm auch schon VOR dem Beenden irgendwo abstürzt. Oder einfach Mist baut (falsche Daten berechnet/anzeigt/...), was oft noch schlimmer ist.
-
Hm. Das ganze stürtzt wirklich am absoluten Ende ab(wirklich am absoluten Ende. Scheinbar direkt nach dem Aufruf diverser Destruktoren
, laut Debugger )...das Programm will irgendwas schreiben ... Windows meckert dann: "Die Anweisung in 0x... verweist auf Speicher in 0x.... Der Vorgang 'written' konnte nicht auf dem Speicher durchgeführt werden.".
-
Such den Fehler und fix ihn, sonst erwischt er dich später irgendwann
-
Ich versuch's ja. Aber ich find nichts
-
Ohne weitere Infos können wir dir aber nicht helfen
-
Ja, das weiß ich. Nur welche Infos hättet ihr gerne? Den riesigen, teilweise..äh...grausamen
Quellcode, ... ???
-
Gut ist immer wenn man ein minimales Beispiel basteln kann, wo das Problem auftritt. Das könntest du dann irgendwo gezippt hochladen (komplette Solution), vielleicht sieht es sich dann jmd. an.
Je grösser desto unwahrscheinlicher ist es natürlich dass sich jemand die Zeit nimmt.Aber vielleicht reicht das Basteln des Minimal-Beispiels ja schon, dass du den Fehler selbst findest.
-
Ah, gute Idee! Das wird den Fehler erheblich eingrenzen. Danke für den Tipp !!
-
Caster, könntest du das http://rapidshare.com/files/247040708/SineWave.rar.html nochmal hochladen? Hab das irgendwie verloren -.-
-
Kein Problem: http://www.filefactory.com/file/ah2c202/n/SineWave_rar
Da sollte man es jetzt auch öfter runterladen können.
-
Großes Danke!