[C/C++] C Beep Funktion

Dieses Thema im Forum "Programmier Tutorials" wurde erstellt von alsdwo3, 27. Juli 2010 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 27. Juli 2010
    C Beep Funktion

    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

    Code:
    #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:
    Code:
    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:
    Code:
    Beep(C * 1, Takt / 4);
    
    Nun nun wieder den Ton C, allerdings doppelt so lang und eine Oktave hoeher.
    Code:
    Beep(C * 2, Takt / 2);
    
    Und zum Schluss noch einmal:
    Code:
    Beep(C * 4, Takt / 4);
    
    Hier ist der Ton nun 4mal so lang und 2 Oktaven hoeher.

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

    Code:
    #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 :)
     

  2. Anzeige

  3. Videos zum Thema
Die Seite wird geladen...