ton ausgeben aber wie?
-
Hi und Hallo
ich will eine Art Eieruhr programmieren und die soll halt nach Ablauf einer Zeit einen Signalton ausgeben.
Habe hier diesen Code gefunden aber bekomme nix raus
BOOL Beep( DWORD dwFreq, // Soundfrequenz DWORD dwDuration // Sounddauer );
mein gerüst sie so aus
#include <conio.h> #include <iostream.h> // Variablen void main () { getch(); }
fehlen da noch bibliotheken? warum klappt das nicht???
...will ja nur ein Beep hören mehr nicht ^^
-
eaglestar schrieb:
warum klappt das nicht???
Weil du Beep gar nicht aufrufst ??????????????????????ßßß
-
und wie muss es rictig aussehen damit ein ton kommt?
bin erst seid 3 wochen an c++ dran.....also ist erst 0,000001% an Erfahrung da ^^
...ums genau zu sagen so weit bin ich...
#include <conio.h> #include <iostream.h> // Variablen void main () { BOOL Beep (DWORD dwFreq, DWORD dwDuration); getch(); }
-
Hallo
Außerdem solltest du mal schauen, was seit 1998 zum standard gehört und was nicht.
chrische
-
Will ja nicht undankbar erscheinen....aaaber...wie wäre es mit Lösungen und nicht mit weiteren Unklarheiten
-
Wenn du Windows verwendest geht das so:
#include <windows.h> #include <iostream> using std::cout; int main() { bool result = PlaySound( "Pfad zur Musikdatei.wav", NULL, SND_FILENAME ); if( result == false ) { cout << "Die Datei konnte nicht abgespielt werden."; return 1; } else { cout << "Datei erfolgreich abgespielt."; } return 0; }
Ist jetzt extra schön ausführlich gehalten.
PlaySound bekommt als zweiten Parameter immer NULL, da du als ersten Parameter den Pfad angibst. Und weil der erste Parameter ein Pfad ist, muss der dritte SND_FILENAME sein. Gibt noch anderen Kombinationsmöglichkeiten, aber für deine Zwecke ist das so absolut ok und das einfachste
-
Hier meine Lösung....
hab gaaaaaanz hinten bei google eben doch noch was entdeckt.
Soeinfach gehts
#include <conio.h> #include <iostream.h> #include <windows.h> // WinApi header using namespace std; // Variablen void main () { Beep(523,500); getch(); }
Danke für die Hilfe
*edit*
Danke für die Ausführliche Anleitung mit bool!
-
eaglestar schrieb:
Soeinfach gehts
Und damit du das Prinzip hinter dieser "Lösung" auch verstehst, solltest du ein Grundlagentutorial durcharbeiten.
-
Hallo
eaglestar schrieb:
Will ja nicht undankbar erscheinen....aaaber...wie wäre es mit Lösungen und nicht mit weiteren Unklarheiten
Du solltest aber schon ein bisschen selber nachdenken. Du schreibst etwas mit dem Namen Beep und verwendest es in deinem Programm aber nie und dann wunderst du dich, dass nichts passiert. Was soll man denn da schreiben?
chrische
-
Hallo
eaglestar schrieb:
Hier meine Lösung....
hab gaaaaaanz hinten bei google eben doch noch was entdeckt.
Soeinfach gehts
#include <conio.h> #include <iostream.h> #include <windows.h> // WinApi header using namespace std; // Variablen void main () { Beep(523,500); getch(); }
Danke für die Hilfe
*edit*
Danke für die Ausführliche Anleitung mit bool!
Ich hoffe, dass du einem Compiler hast, der dir hier einige Warnungen gibt, weil das wirklich Code ist, der seit einfach nicht mehr aktuell ist.
chrische
-
eaglestar schrieb:
...will ja nur ein Beep hören mehr nicht ^^
NUR ein Beep geht auch mit:
#include <iostream> int main() { using namespace std; const char BEEP = 0x07; // ASCII-Code für BEL(L) cout << BEEP << flush; return 0; }
Gruß
Werner
-
EDIT: War falsch.
-
Nein, \a.
-
bel schrieb:
Nein, \a.
Jaja, "knapp vorbei ist ...."
Gruß,
Simon2.
-
Bei mir kommt bei der Lösung mit PlaySound beim Linken immer:
main.cpp: undefined reference to PlaySoundA@12
Woran liegt das???
-
Das liegt daran, daß du vergessen hast, deinem Linker die winmm.lib mitzugeben
-
Welche Variante ist nun am besten für meine Zwecke eine Eieruhr zu basteln???
...und warum ist mein Code veraltet?
Wo kann man denn nachlesen was "Up-to-Date" ist ^^
-
eaglestar schrieb:
Welche Variante ist nun am besten für meine Zwecke eine Eieruhr zu basteln???
Was hat eine Eieruhr mit Tonausgabe zu tun?
(im Ernstfall kommt es einfach darauf an, was du nun wirklich ausgeben willst -
cout<<'\b';
erzeugt einen kurzen Piep-ton, PlaySound() kann dir (wenn vorhanden) eine Wagner-Oper vorsingen....und warum ist mein Code veraltet?
Weil du Sachen wie
<iostream.h>
(C++ Standardheader haben keine .h Endung mehr) odervoid main()
verwendest.Wo kann man denn nachlesen was "Up-to-Date" ist ^^
Im Zweifelsfall im ANSI C++ Standard.
-
CStoll schrieb:
...
cout<<'\b';
erzeugt einen kurzen Piep-ton...Hatte ich auch so in Erinnerung, aber laut Hier wohl doch nur einen backspace, während
'\a'
wohl das Zeichen der Wahl ist.
(Bei mir gibt beides nur ein Quadrat aus).
Gruß,
Simon2.
-
achso....ja...hab das mit #include <xyz**.h**> so in der schule (fürs erste) gelernt.
Glaube damit auch ältere Compiler den Code lesen können....oder so
und statt beep () kann ich auch nur \b nehmen!?
P.S.
Eieruhr und Ton????
Ist doch normal das eine Eieruhr einen Laut von sich gibt wenn die Eier fertig sein sollen, oder? ....also Countdown -> Zeit==0 -> Beep .....so im groben.