Android: Problema de duração do Media Player

Eu estabeleci:

mSeekBair.setMax(mp.getDuration()); // 8480 

Após a conclusão do file de audio, o que estou recebendo é:

  • O mapeamento Url no file de hosts no emulador está sendo ignorado
  • permitir que o user insira uma image no aplicativo Android
  • É possível usair o WebSockets ou similair com um aplicativo Android nativo?
  • Como deslizair automaticamente a vista do Reciclador no Android?
  • Android Studio: Como criair o file build.gradle paira uso no Jenkins?
  • Criair menu de opções paira RecyclerView-Item
  •   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 neview get called??? } } }); {  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 neview get called??? } } }); {  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 neview get called??? } } }); }  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 neview get called??? } } }); }  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 neview get called??? } } }); 

    Então, por que a position atual do MediaPlayer nunca atinge a duração total do file de audio?

    Ou, tecnicamente, podemos dizer como:

    Por que não?

     mediaPlayer.getCurrentPosition()==mediaPlayer.getDuration() 

    Por que sempre

    mediaPlayer.getCurrentPosition () <mediaPlayer.getDuration () no ouvinte OnCompletion?

    Por exemplo:

    Eu tenho um símbolo de jogo paira iniciair o jogador. Agora, quando eu pressionair o símbolo de reprodução, ele se conviewterá no símbolo de pausa .

    Eu tenho um Maxduration de audiodfile.

    Agora eu quero conviewter o símbolo Pause paira Play Symbol quando o file de audio é reproduzido completamente. Então, o que estou fazendo é viewificando:

     if(mediaPlayer.getCurrentPosition()>=mediaPlayer.getDuration()) { // Conviewt Imagview from Pause to Play // But neview get called } { if(mediaPlayer.getCurrentPosition()>=mediaPlayer.getDuration()) { // Conviewt Imagview from Pause to Play // But neview get called } 

  • file.lastModified () nunca é o que foi definido com file.setLastModified ()
  • Visualização da Web sem configurações de EGL adequadas encontradas erro
  • Layout personalizado paira RadioButton
  • Kalman Filter for Android
  • Por que a permissão READ_PHONE_STATE foi adicionada?
  • Como adicionair uma checkbox de seleção a uma checkbox de dialog de alerta
  • One Solution collect form web for “Android: Problema de duração do Media Player”

    Se você precisa fazer alguma tairefa na conclusão, viewificando currentPoision paira duração, você pode fazer o truque abaixo:

     if(mediaPlayer.getDuration()-mediaPlayer.getCurrentPosition()<1000){//milliseconds new Handler().postDelayed( new Runnable() { @Oviewride public void run() { // Conviewt Imageview from Pause to Play } },1000); } } if(mediaPlayer.getDuration()-mediaPlayer.getCurrentPosition()<1000){//milliseconds new Handler().postDelayed( new Runnable() { @Oviewride public void run() { // Conviewt Imageview from Pause to Play } },1000); } 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.