2015-11-08 5 views
5

Für mein Wochenende-Projekt versuche ich ein einfaches Programm zu erstellen, das darauf wartet, dass ein Programm/Prozess einen Sound ausgibt, und wenn/falls es dann etwas unternimmt.Java - Erkennen, ob die Anwendung Sound ausgibt

in Pseudo-Code:

if (application.outputsSound()) { 
    /* Do something */ 
} 

Für den Anfang könnte es auf keinen Ton sein, von der spezifischen Anwendung kommt, aber wenn er innerhalb des Grundes ist ein speziellen Sound basierend auf einer gespeicherten Audiodatei zu erkennen, das wäre wirklich cool.

Meine Gedanken: Ich denke, ich brauche eine Art native Bibliothek (JNI/JNA), aber da ich neu bin, wäre es wirklich nett, wenn mir jemand in die richtige Richtung zeigen könnte.

+0

Interessante Frage. Ich denke, Sie müssten mit Ihrem Audiotreiber oder zumindest mit Ihrem Betriebssystem interagieren, um die Prozesse abzurufen, die ihn für die Audioverarbeitung aufrufen. Es muss in Java möglich sein, obwohl es in C/C++ wahrscheinlich einfacher wäre, da die meisten Low-Level-Software wie diese in diesen Sprachen codiert sind. – Aaron

+1

Auf modernen Betriebssystemen erfolgt das Mischen in einem User-Space-Prozess fungiert als Audioserver und nicht als Gerätetreiber. Nichtsdestotrotz ist es plattformabhängig, dieses Ziel zu erreichen. – marko

Antwort