I gesetzt haben:Android: Media Player Dauer Ausgabe
mSeekBar.setMax(mp.getDuration()); // 8480
Nach Beendigung der Audiofile, was ich erhalte ist:
player.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
public void onCompletion(MediaPlayer mediaPlayer)
{
Log.e("onComplete>>", ""+mediaPlayer.getCurrentPosition());
// mediaPlayer.getCurrentPosition() = 8192
Log.e("getDuration", ""+mediaPlayer.getDuration());
// mediaPlayer.getDuration() = 8480
if(mediaPlayer.getCurrentPosition()>=mediaPlayer.getDuration())
{
// Why never get called???
}
}
});
So Warum ist die aktuelle Position der Mediaplayer erreicht nie den Gesamt Dauer der Audiodatei?
oder technisch können wir sagen, wie:
Warum nicht?
mediaPlayer.getCurrentPosition()==mediaPlayer.getDuration()
Warum immer
mediaPlayer.getCurrentPosition() < mediaPlayer.getDuration() in OnCompletion Zuhörer?
Beispiel:
Ich habe ein Wiedergabe Symbol für den Player zu starten. Jetzt, wenn ich spiele Symbol es wird zu Pause Symbol drücken.
Ich habe eine Maxduration von audiodfile.
Jetzt möchte ich Pause Symbol Wiedergabe Symbol, wenn Audio-Datei abgespielt wird, vollständig konvertieren. SO, was ich tue, ist Checking:
if(mediaPlayer.getCurrentPosition()>=mediaPlayer.getDuration())
{
// Convert Imagview from Pause to Play
// But never get called
}
Was Ausgang ist von 'Log.i ("onComplete >>", "" + mediaPlayer.getCurrentPosition()); Log.i ("getDuration", "" + mediaPlayer.getDuration()); ' –
aktuelle Position ist immer kleiner als GetDuration. –
Hmm .. Ich habe ein [Problemthread] (https://code.google.com/p/android/issues/detail?id=38627) für dasselbe gefunden, weiß aber nicht, ob jemand eine Lösung oder Erklärung gefunden hat. . und [dies] (http://www.anddev.org/multimedia-problems-f28/mediaplayer-getcurrentposition-t20032.html) auch. –