Daten vom Mikrofon einlesen

Der Wolf

Erfahrenes Mitglied
Hallo,

kann mir jemand ein kleines Beispielprogramm zeigen, das zeigt, wie ich in einer endlosschleife immer wieder Daten von einem Audioeingang (zum Beispiel ein Mikrofon) bekomme, die mit Hilfe einer Pipe an C++ weiterreiche und sie in meinem Programm auslese um sie weiter zu bearbeiten? Das ganze soll unter Ubuntu laufen, quasi mit dem Aufruf:

arecorc -D plughw:1,0 | test

Danke schonmal im Vorraus

Der Wolf
 
Dann löse ich es doch alleine. Also mit

Code:
int main(int argc, char *argv[]) {

 char test[256];
 std::cin.get(test, 256);
 std::cout << test << std::endl;

}

kann man schön in einer Endlosschleife immer wieder die Daten einlesen, die vom Mikrofon kommen und die arecord mit | weiterleitet.

arecord -D plughw:1,0 -r 48000 -c1 -f S16_LE -t raw | ./SensorReader -l LaserData

So. Und wie lese ich jetzt von hier am geschicktesten die Daten von jeweils 50 ms aus und arbeite dann auf ihnen weiter?

Gruß
Der Wolf
 
Zuletzt bearbeitet:
Zurück