C++ Beep in Schleife |
SLYYY unregistriert
|
|
Meine Frage:
hallo,
Ich bin dabei ein C++ programm zu schreiben welches mir den Dopplereffekts eines vorbeifliegendes Objektes zu demonstrieren. Dazu will ich die Beep funktion nutzen. --> Beep(f,t) --> wobei dabei f die frequenz angibt und t die Dauer mit der der Ton abgespielt wird. Diese Beep-Funktion ist eine Funktion von Windows.
Mein Problem: Sobald ich die Beep Funktion in eine Schleife schmeiße spielt es die Töne nicht ab?? Ich will sie allerdings in eine Schleife geben, da beim Dopplereffekt sich Ton mit der Zeit ändert.
Meine Ideen:
Hier ein von mir einfaches Beispiel in der eine Beep-Funktion in einer for schleife eingebunden ist aber nicht funktioniert. Mit jeder Hundertstel-Sekunde sollte sich auch die Frequenz um 1 vergrößern:
//Abschlussprogramm
//Wahrnehmung bei hohen Geschwindigkeiten
//Globale Anweisungen:
#include <iostream>
#include <windows.h>
#include <cmath>
using namespace std;
//Hauptprogramm
int t;
int main()
{
for(t=0; t<5000; t++)
{
Beep(t,1);
}
return 0;
}
|
|
24.02.2013 20:54 |
|
|
Karlito
Kaiser
Dabei seit: 11.04.2011
Beiträge: 1.461
|
|
Hallo,
ich habe den Code ausprobiert. Den Ton nur 1 ms zu halten ist zu kurz. Bei mir funktioniert der Code mit ca. 100 ms, jedoch auch nicht sauber... Kann sein, dass das bei dir Anders ist, da ich es in einer virtuellen Maschine probiert habe.
Könnte sein, dass sich das mit dem Windows-Beep nicht bewerkstelligen lässt.
Schau dir vlt das mal an: http://channel9.msdn.com/coding4fun/arti...ave-Oscillators
VG,
Karlito
|
|
25.02.2013 03:05 |
|
|
|