JavaFX KeyFrame / Zeitversetzter Sound

missy72

Bekanntes Mitglied
Hallo,
ich habe mal wieder so eine komische Sache. Vielleicht hat jemand eine Erklärung dazu.
Ich habe ein KeyFrame, welches ich alle 0.2 Sekunden aufrufen. (0.2 Sekunden, das hat seinen Grund).
Jetzt habe ich einen Countdown laufen, der bei gewissen Werten einen Sound abspielen soll.
Bei den Werten "00:00:30" und "00:00:10" wird der Sound ca. eine Sekunde später abgespielt, bei restlichen Werten passt es.
Dabei werden die Zahlenwerte in der Konsole richtig und rechtzeitig angezeigt.
Damit der Sound nicht jedes mal fünffach aufgerufen wird, habe ich eine Vergleichsvariabel zugefügt.
Ich kann das Problem zwar lösen, indem ich die beiden Zeiten anpasse, aber eine Logik dahinter kann ich nicht erkennen.

Java:
AudioClip beepShort = new AudioClip(Paths.get("C:\\Users\\eclipse-workspace\\RSV23_Zeitnahme\\src\\data\\beep_250ms.mp3").toUri().toString());
AudioClip beepLong = new AudioClip(Paths.get("C:\\Users\\eclipse-workspace\\RSV23_Zeitnahme\\src\\data\\beep_750ms.mp3").toUri().toString());

if ((countDownVariable == 30) && (countDownVariable != countDownEqualsVariable) ||
    (countDownVariable == 10) && (countDownVariable != countDownEqualsVariable) ||
    (countDownVariable ==  3) && (countDownVariable != countDownEqualsVariable) ||
    (countDownVariable ==  2) && (countDownVariable != countDownEqualsVariable) ||
    (countDownVariable ==  1) && (countDownVariable != countDownEqualsVariable)) { 
                        
        countDownEqualsVariable = countDownVariable;
        System.out.println(countDownVariable);
        beepShort.play();                   
}

if ((countDownVariable ==  0) && (countDownVariable != countDownEqualsVariable))) {
        
        countDownEqualsVariable = countDownVariable;
        System.out.println(countDownVariable);
        beepLong.play();
}
 

missy72

Bekanntes Mitglied
Durch Probieren ist mir noch was auf gefallen.
Der Zeitverzug komm nur zustande, wenn der Player länger als 15 Sekunden nicht verwendet wird.
So was wie eine Standby-Funktion.
 

Ähnliche Java Themen


Oben