Wie kommt es, dass der Clip.getLevel(); Methode gibt nur -1,0 zurück?Java

Java-Forum
Anonymous
 Wie kommt es, dass der Clip.getLevel(); Methode gibt nur -1,0 zurück?

Post by Anonymous »

Ich versuche, einen Audio -Visualisierer auf Java zu erstellen, und versuche, die Funktion .getlevel () des Clip -Clips zu verwenden. Ding. Dennoch kehrt es nur -1.0 zurück, sonst nichts. Hier ist mein Code: < /p>

import java.io.File;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;

public class Music {

private static String filePath = "audio\\audio ";
private static Clip clip;

public static void playAudio(int track){
try {
File path = new File(filePath + track + ".wav");
if (path.exists()){
AudioInputStream input = AudioSystem.getAudioInputStream(path);

clip = AudioSystem.getClip();
clip.open(input);
clip.start();
}
else { System.out.println("Audio missing."); }
}
catch(Exception e) { System.out.println(e); }
}

public static int getFrame(){
return clip.getFramePosition();
}

public static double getLevel(){
return clip.getLevel();
}
}
< /code>
Ich habe verschiedene Audio -Dateien ausprobiert und ohne Erfolg online gefunden. Es spielt Audio gut und ich wollte einfach Getlevel () versuchen, da ich nicht weiß, was zum Teufel ein FFT ist und ich verstehe auch nicht, wie es funktioniert, und ich weiß, dass es eine andere Möglichkeit ist, das zu tun, was ich versuche zu tun. Danke.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post