Vollständige Version anzeigen : [C/C++] C Beep Funktion


alsdwo3
27.07.2010, 15:20

In diesem Tutorial beschaeftigen wir uns mit der Windows Beep-Funktion.
Mit diese Funktion, kannst du den SystemSpeaker einen Ton mit einer bestimmten Frequenz sowie Dauer abspielen bzw. erklingen lassen.

Nun lassen wir es bei Windows mal richtig "beepen" ;)

Schritt 1: Das Gerüst
#include <windows;h>
#include <iostream>
using namespace std;

Wir importieren iostream und verwenden namespace std fuer die Ausgabe in der Konsole.

Schritt 2: Musik/Tonfrequenz
Uebersicht der Frequenzen:
const int C = 261;
const int Cis = 277;
const int D = 293;
const int Dis = 311;
const int E = 329;
const int F = 349;
const int Fis = 369;
const int G = 391;
const int Gis = 415;
const int A = 440;
const int Ais = 466;
const int H = 493;
const int Takt = 2000;
Um jetzt z;B. den Ton C1 erklingen zu lassen, brauche wir folgenden Code:
Beep(C * 1, Takt / 4);
Nun nun wieder den Ton C, allerdings doppelt so lang und eine Oktave hoeher.
Beep(C * 2, Takt / 2);
Und zum Schluss noch einmal:
Beep(C * 4, Takt / 4);
Hier ist der Ton nun 4mal so lang und 2 Oktaven hoeher.

Oktave hoch = *
Beep(C * 4, Takt * 4);Oktave tiefer = /
Beep(C * 4, Takt / 4);Da jeder die Tetris Melodie mag, hier der Sourcecode :)

#include <windows;h>
#include <iostream>
using namespace std;

const int C = 261;
const int Cis = 277;
const int D = 293;
const int Dis = 311;
const int E = 329;
const int F = 349;
const int Fis = 369;
const int G = 391;
const int Gis = 415;
const int A = 440;
const int Ais = 466;
const int H = 493;
const int Takt = 1700;

int main() {
cout << "Tetris" << endl << " (Enter dr" << (unsigned char)129 << "cken um fortzufahren)";
getchar();
while (1) {
Sleep(Takt / 4);
Beep(E * 2, Takt / 4);
Beep(H * 1, Takt / 8);
Beep(C * 2, Takt / 8);
Beep(D * 2, Takt / 4);
Beep(C * 2, Takt / 8);
Beep(H * 1, Takt / 8);
Beep(A * 1, Takt / 4);
Beep(A * 1, Takt / 8);
Beep(C * 2, Takt / 8);
Beep(E * 2, Takt / 8);
Beep(E * 2, Takt / 8);
Beep(D * 2, Takt / 8);
Beep(C * 2, Takt / 8);
Beep(H * 1, Takt / 2;5);
Beep(C * 2, Takt / 8);
Beep(D * 2, Takt / 4);
Beep(E * 2, Takt / 4);
Beep(C * 2, Takt / 4);
Beep(A * 1, Takt / 4);
Beep(A * 1, Takt / 4);
Sleep(Takt / (8 / 3));
Beep(D * 2, Takt / 3;25);
Beep(F * 2, Takt / 8);
Beep(A * 2, Takt / 8);
Beep(A * 2, Takt / 8);
Beep(G * 2, Takt / 8);
Beep(F * 2, Takt / 8);
Beep(E * 2, Takt / 3);
Beep(C * 2, Takt / 8);
Beep(E * 2, Takt / 8);
Beep(E * 2, Takt / 8);
Beep(D * 2, Takt / 8);
Beep(C * 2, Takt / 8);
Beep(H * 1, Takt / 4);
Beep(H * 1, Takt / 8);
Beep(C * 2, Takt / 8);
Beep(D * 2, Takt / 4);
Beep(E * 2, Takt / 4);
Beep(C * 2, Takt / 4);
Beep(A * 1, Takt / 4);
Beep(A * 1, Takt / 4);
}
return 0;
}


Viel Spaß beim beepen :)

Hardware Preisvergleich | Amazon Blitzangebote!

Videos zum Thema
Video Loading...
Ähnliche Themen zu [C/C++] C Beep Funktion
  • Nach PC saugen und Laufwerk einbau. Beep Code Hilfe???
    Habe in einem meinen PC gesaugt und ein Double Layer Brenner auseinander gebaut um die linse zu reinigen, hat auch alles ganz gut geklappt und als ich das Laufwerk wieder eingebaut habe und meinen älteren PC starten wollte kam -kein Bild und jetzt macht er immer so ein Bios Beep Code ungefähr s [...]

  • [Delphi] Beep befehl in schleife setzten.
    Hallo. Ich bin daran, mir en Wecker zu programmieren. Dabei brauch ich den Beep befehl. Der sollte ca. 10 mal hintereinander auftönen. Doch wie mach ich die Schleife dafür? Hab nämlich nicht so viel Ahnung von Delphi. Bewertung ist drin ;) Gruß Rhino [...]

  • Trotz keiner CPU keine Beep?
    Hi Leute, ich habe ein A8n32 Deluxe Mainbord lange Zeit lief alles gut. Doch eines Tages als ich den Pc wieder anmachen wollte liefen nur noch die lüfter und sonst passierte nichts. Ich habe inzwischen schon alles ausporbiert aber er macht einfach keinen ton mehr müsste nicht wenigstens wenn ich [...]

  • beceriksizler.beep.to - down? ende?
    Eines der größten Türkischen Boards mit seeeehr vielen Usern ist seit Tagen down. Da wir hier im Forum doch einige Türkische Mitbürger/innen haben wollte ich mal fragen was da los ist und ob jemand da ne Ahnung hat. Mfg, TheChronic. [...]



raid-rush.ws | Imprint & Contact pr