"Eine Frequenz eine bestimmte Zeit lang abspielen" hat ja mit der eigentlichenDarkDragon hat geschrieben:@traumatic: Sag mir halt mal wie man eine bestimmte frequenz an die Soundkarte sendet, sodass sie eine bestimmte Zeit lang abgespielt wird. Ich weiß es gibt diese QPlay lib, aber die bringt mir auch nichts, wenn ich eine bestimmte frequenz ausgeben will. Und wie bekommt man diese Frequenz vom Mikrofon?
Problemstellung nichts zu tun (Dazu braucht man keinen Stream),
aber vielleicht hilft Dir das folgende trotzdem ein wenig weiter:
Also, wie bereits weiter oben geschrieben, würde ich hierzu DirectSound
benutzen - ist am einfachsten und solidesten IMHO.
Du kannst in DirectSound auf einfache Art Buffer erzeugen und diese mit
Daten beschreiben, vom Prinizip her genauso wie man auch Surfaces, Texturen,
VertexBuffer etc. in D3D beschreibt (also lock(), daten rein, unlock()).
Spielst Du diesen Buffer (der meinetwegen so groß ist, um 1 Sekunde Audio
in 16bit, 22kHz aufzunehmen) in einer Loop ab und schmeisst immer schön
Daten in den Buffer, war's das im Grunde schon.
Bei "vom Mikrofon in die Soundkarte" ist das der gleiche Weg (nur andersherum;)).
Irgendjmd. aus diesem Forum (Sorry, ich kann mich nicht erinnern) hat mal
eifrig mit der Klangerzeugung mittels FMOD herumgespielt. Die Codes
kannst Du Dir ja mal anschauen (ob nun FMOD oder direkt DSound ist ja egal,
da passiert intern auch nichts anderes). Ansonsten würde ich Dir ein Studium
des WAV/RIFF Formats und der Klangsynthese im allgemeinen ans Herz
legen.