Geräusche mit C



  • Hi,
    ich habe so zum Spaß folgendes Mini-Programm geschrieben:

    #include <windows.h>
    
    void main()
    {
    	beep(264,50);
    }
    

    Aber mein Computer lässt nichts von sich hören. Woran liegt das?

    Nebenbei noch eine andere Frage:
    Gibt es eine Möglichkeit, mit C ein Archiv wie .rar oder .zip zu entpacken??

    Danke schonmal und Gruß
    shadow



  • Shadow66 schrieb:

    #include <windows.h>
    
    void main()
    {
    	beep(264,50);
    }
    

    Aber mein Computer lässt nichts von sich hören. Woran liegt das?

    Die Frage gehört in die Sektion WinAPI.

    Lies mal (vor allem die Sekton "Remarks)
    http://msdn.microsoft.com/en-us/library/ms679277(VS.85).aspx

    Shadow66 schrieb:

    Nebenbei noch eine andere Frage:
    Gibt es eine Möglichkeit, mit C ein Archiv wie .rar oder .zip zu entpacken??

    Ja... Du kannst diese Funktion durchaus in C implementieren. Musst halt erst dich mit Kompressionsalgorithmen ein wenig beschäftigen...

    Oder du verwendest eine fertige Bibliothek dafür...



  • also wenn ich das richtig verstanden habe, gibt es die Funktion in Vista gar nicht - und ich habe Vista...klasse...

    zu dem Entpacken: Was für eine Funktion ist das denn, ich finde nichts darüber. Ein Beispiel wäre schön, aber schonmal danke 🙂



  • Dieser Thread wurde von Moderator/in rüdiger aus dem Forum C (C89 und C99) in das Forum DOS und Win32-Konsole verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Shadow66 schrieb:

    also wenn ich das richtig verstanden habe, gibt es die Funktion in Vista gar nicht - und ich habe Vista...klasse...

    Funktionen wie beep sind aus der (wahrscheinlich noch 16 bittigen) Vergangenheit von Windows. Heutzutage nimmt man mindestens das WAVEFORMAT und kann so bspw. Sinusgeneratoren schreiben. Es gibt allerdings noch viel viel mächtigere Funktionen wie PlaySound oder die Direct Show - Bibiothek.

    Shadow66 schrieb:

    zu dem Entpacken: Was für eine Funktion ist das denn, ich finde nichts darüber. Ein Beispiel wäre schön, aber schonmal danke 🙂

    Eine einfache C-Funktion gibt es dafür natürlich nicht.
    Zum Packen/Entpacken von zip-Dateien nutze ich XZip / XUnzip. Diese Bibiothek hat allerdings ein C++ Interface, das die Funktionalität kapselt. Es ist jedoch weitaus einfacher, dies nach C zu portieren als selber alles zu schreiben...



  • Die Funktion Beep() funktioniert nur bei WinVista (/Win7?) x64 nicht.
    Bei der x86ern müsste sich noch ein Ton aus dem Lautsprecher quälen 😉



  • ja aber ich habe 64 ^^



  • While(true){} schrieb:

    Die Funktion Beep() funktioniert nur bei WinVista (/Win7?) x64 nicht.
    Bei der x86ern müsste sich noch ein Ton aus dem Lautsprecher quälen 😉

    also bei mir gehts wunderbar
    Windows 7 Home Premium 64 Bit
    noch nich registriert weil ich mich noch nich dazu durchringen konnte die M$-Leute anzurufen, dass mein Key echt echt ist aber ich denke mal

    #include <windows.h>
    #include <stdio.h>
    
    int main(){
        Beep(264,5000);
    	char buffer[256];
    	gets(buffer);
    	return 0;
    }
    

    compiled mit wxDevCpp



  • Dieser Thread wurde von Moderator/in SideWinder aus dem Forum DOS und Win32-Konsole in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Unter Win7 x64 wurde "Beep" neu implementiert und verwendet jetzt die Soundkarte! Also nicht mehr den internen Lautsprecher!



  • Also bei mir geht das mit dem Sound, obwohl ich Vista habe, ich mache das so, hier mal eine sehr berühmte Melodie zum anhören, ^^, mit Noten als Makros, sag mal, geht das bei dir?

    #include <windows.h>
    #include <stdlib.h>
    #include <string.h>
    #include <stdio.h>
    
    #define C     261
    #define Cis   277
    #define D     293
    #define Dis   311
    #define E     329
    #define F     349
    #define Fis   369
    #define G     391
    #define Gis   415
    #define A     440
    #define Ais   466
    #define H     493
    #define Takt  1700
    
    void playMusic()
    {
        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);
    }
    
    int main()
    {
        playMusic();    
        prinft("Schöne Grüße wünscht Developer_X Frohe Weihnachten!");
    }
    

Anmelden zum Antworten