Mikrofon als soundboard

DerMatti

Neues Mitglied
Hey alle zusammen,
Ich bin seit heute Morgen an einen Möglichkeit zu suchen wie ich in java meine Mikrofon ansteuern kann und dann Sound abspielen kann.

Ich finde leider nicht sehr viel dazu und ich glaube auch das, dass nicht so einfach geht! Oder?

Um mein Problem besser zu verstehen, hier nochmal meine Idee. Ich möchte das wenn ich später auf ein Button drücke ein Sound abgespielt wird den auch Leute in z.b. Skype oder TS hören können. Das möchte ich machen indem der Sound über mein Mikrofon gesendet wird. Ist das Möglich oder habt ihr noch andere Ideen was man machen könnte?.

Habt alle noch einen schönen Abend!
LG Matti
 

Meeresgott

Bekanntes Mitglied
Das möchte ich machen indem der Sound über mein Mikrofon gesendet wird.

Ein Mikrofon ist etwas, mit dem Töne (einen Frequenzbereich) digitalisiert werden können.
Auf der Hardware ebene wird das (meistens) mit einen AD-Wandler umgesetzt und ein solcher kann nur Analoge Signale in Digitale umwandeln. Nicht aber Digitale in Analoge. Dafür braucht man einen DA-Wandler (Der wird für das abschieben von Sounds gebraucht).

Du könntest eine Art Mischpult zwischen Mikrofon und Computer hängen, dass wiederum eine Soundkarte und das Mikrofon zusammen mischt und dann erst an den Computer das gemischte Signal weiter gibt.
Das wäre eine "Hardware-Lösung". --> Hier könntest du allerdings mit Java arbeiten ("Java-SoundDriver" gibt es).

Um es nur mit Software zu lösen müsstest du genau das gleiche machen. Du greifst die empfangenen Daten ab (eventuell am Treiber selbst) und mischst diese Daten genauso wie oben beschrieben. Allem in Allem würde ich sagen, dass das Projekt nicht in pure Java geschrieben werden kann - dafür hast du viel zu viel Hardware Bezug.

Aber vielleicht findest du eine Java-API für ein "virtuelles Mikrofon" - das dem System vorgaukelt eins zu sein aber in wahrheit nur ein Stück Software ist. Dann könntest mit Java das Mikrofon "einlesen", mischen und dann an das Virtuelle Mic weiter geben und du müsstest in deinen TeamSpeak o.ä. nur das Virtuelle Mic einstellen.

So oder so denke ich wird es ein aufwendiges Projekt.

VG
 

Meeresgott

Bekanntes Mitglied
Ich nehme mal an, dass dein Mikrophon entweder fest im Computer eingebaut oder über den Mikrophon-Eingang des PC angeschlossen ist:

Wäre halt die Frage, wie du das Signal in die von ihm verwendetet Software wieder "einschleust". Da würde mir nichts einfallen :( hast du dafür eventuell auch eine API gefunden?
Ich konnte nichts finden..
 

RalleYTN

Bekanntes Mitglied
Wie @temi schon sagte ist die Java Sound API der richtige Einstiegspunkt. Es wird jedoch etwas chaotisch wenn du mit mehreren Threads rumhantieren musst.

Ich selbst habe mal eine Recorder Klasse geschrieben.
Kannst du dier hier ansehen: https://github.com/RalleYTN/SimpleA...n/java/de/ralleytn/simple/audio/Recorder.java

Ich würde dir jedoch raten dir selber etwas zu schreiben damit du es besser verstehst.
Hier sind auch ein paar recht gute Videos zur Java Sound API:
 

Neumi5694

Top Contributor
Java ist vielleicht nicht der richtige Ansatz dafür. Was du brauchst, ist eine virtuelle Soundkarte, ein vom Betriebssystem verwendetes Aufnahmegerät. Dieses muss sowohl den Sound eines anderen Aufnahmegeräts (die soundkarte, an der dein Mikro hängt) weiterleiten als auch Töne, die aus einer Wave-Datei stammen, ausgelöst per Tastendruck.
Ich bin mir ziemlich sicher, dass es Software dafür bereits fertig zum Verwenden gibt. Einer meiner Arbeitskollegen hat einen Vormittag lang mit der Auswahl lustiger Töne genervt, die er für genau den gleichen Zweck gesucht hat wie du.
 

Ähnliche Java Themen

Neue Themen


Oben