hey ho liebe Programmierergemeinde,
ich habe ein Problem mit der Funktion
aus der Java Media Framework lib und zwar folgendes:
mit dieser Funktion erhält man ja normaler Weiße die Gesamtzeit des Files, welches im Player geladen ist. Das komische bei mir ist,
dass es bei einer mp3 Datei problemlos klappt und bei 2 anderen nicht. Dort geben sie mir zu viele Sekunden zurück. Ich hab das ganze mal jede Sekunde in meiner Console geloggt. Das komische ist, wenn die beiden Lieder bei denen die Methode spinnt zu ende sind, funktioniert die Methode und gibt mir die richtige Gesamtzeit aus. Ich benötige die Gesamtzeit für einen Fortschrittsbalken in vorm eines JSliders. Im folgenden mal mein Teil-Code:
Das ist das was ich mir jede Sekunde ausgeben lasse und nun das was ich am Ende des Liedes ausgebe:
Wie ihr seht rufe ich am Ende des Liedes die gleiche Methode für die Gesamtzeit auf und hier funktioniert sie immer!
Hat jemand eine Idee?
gruß wasteland
ich habe ein Problem mit der Funktion
Java:
Player.getDuration()
mit dieser Funktion erhält man ja normaler Weiße die Gesamtzeit des Files, welches im Player geladen ist. Das komische bei mir ist,
dass es bei einer mp3 Datei problemlos klappt und bei 2 anderen nicht. Dort geben sie mir zu viele Sekunden zurück. Ich hab das ganze mal jede Sekunde in meiner Console geloggt. Das komische ist, wenn die beiden Lieder bei denen die Methode spinnt zu ende sind, funktioniert die Methode und gibt mir die richtige Gesamtzeit aus. Ich benötige die Gesamtzeit für einen Fortschrittsbalken in vorm eines JSliders. Im folgenden mal mein Teil-Code:
Java:
int n = (int) player.getDuration().getSeconds();
int m = (int) ((player.getMediaTime().getSeconds() / n) * 100);
System.out.println("gesamtzeit: "+n);
System.out.println("aktuelle sec: "+player.getMediaTime().getSeconds());
System.out.println("prozent: "+m);
slider.setValue(m);
Java:
if(arg0 instanceof EndOfMediaEvent)
{
System.err.println("ende des liedes.\r\n aktuelle zeit: "+dePlayer.getMediaTime().getSeconds()
+" \r\n gesamt zeit: "+dePlayer.getDuration().getSeconds());
}
Wie ihr seht rufe ich am Ende des Liedes die gleiche Methode für die Gesamtzeit auf und hier funktioniert sie immer!
Hat jemand eine Idee?
gruß wasteland