Anzeige:
Ergebnis 1 bis 2 von 2

Thema: sound

  1. #1
    Registrierter Benutzer
    Registriert seit
    23.04.2005
    Beiträge
    52

    sound

    hi,
    Ich wollte in c++ mal versuchen mit sound anzufangen, also hab ich bei google gesucht und das gefunden:

    Ein Weihnachtslied spielen
    Füge ein clearscreen; ein, damit, der Output der vorherigen Versuche nicht im output-Fenster erscheinen.

    Schaue in der Hilfe nach sound. Beachte #include <DOS.h>

    Lasse den sound einige Millisekunden ertönen (delay) und stelle den sound wieder ab (nosound)

    Teste in welchem Frequenzbereich, Du noch hörst.
    Junge Leute: 16-20 000 Hz (=Hertz)
    Sprache: 300-2500 Hz

    Programmiere einen Dreiklang

    mit while(1) {...} lasse man den Dreiklang unendlich oft laufen (1= true).

    Beende das (unendliche Programm) durch die IDE mit CtrPause, dann Enter (= abbrechen)

    Beende die unendliche Schleife per Programm durch eine Tastaturabfrage :
    !kbhit(); (kbhit = if keyboard has been hit)
    (! = logische Negation)
    Lösung:
    #include <stdio.h>
    #include <DOS.h>
    #include <conio.h>
    iain (void)
    {
    // Anfangston zum Test
    sound(1000);delay(1000);nosound();
    while(!kbhit())
    {
    sound(400); // Hier der Fehler
    delay(200);
    sound(800);
    delay(200);
    sound(1600);
    delay(600);
    }
    nosound ();
    return 0;
    }
    wenn ich das bei mir compilieren will kommt das :

    Code:
    7 F:\coding\c++\tests\soundtest\main.cpp `sound' undeclared (first use this function)
    ich SCHÄTZE mal das der code für linux is(ka wiso ich die header trotzdem hab), also wie mach ich sowas unter win?

  2. #2
    Registrierter Benutzer
    Registriert seit
    25.10.2004
    Beiträge
    819
    Erstens ist das C, und kein C++.

    Zweitens siehst du schon an DOS.h, dass das spezifisch für einen DOS-C Compiler (wahrscheinlich BorlandC) ist.

    Der C- und auch C++-Standard sieht keine Funktionen für sound vor.

    Schau dir mal SDL an. (Allerdings sprichst du damit dann die Soundkarte und nicht den PC Piepser an; um z.B. einen 440Hz Ton auszugeben müsstest du dann eine Sinuswelle in einen Puffer schreiben und diesen dann ausgeben lassen. Ist aber nicht so schwer.
    Dafür ist das abspielen von WAV natürlich leichter
    )

    Und SDL ist auch reines C.

    Oh, und es gibt noch Allegro: http://alleg.sourceforge.net

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •