¿Cómo se muestra correctamente la posición / duración de un MediaPlayer?

Hola quiero mostrar la posición del jugador y la duración del jugador en formato de fecha simple. es decir. 00:00:01/00:00:06 . La primera parte es la posición actual del jugador y la segunda parte es la duración. He utilizado SimpleDateFormat para intentar mostrar la duración y la posición en este formato, pero me está mostrando la salida como 05:30:00/05:30:06 .

Aquí está el código que estoy usando:

 time1 = new SimpleDateFormat("HH:mm:ss"); currentTime.setText("" + time1.format(player.getCurrentPosition()); 

¿Cómo puedo imprimir correctamente la posición y la duración? (Está mostrando horas / minutos que no deben estar allí).

Por favor, ayúdame, Swathi Daruri.

DateFormat funciona para las fechas, no para los intervalos de tiempo. Así que si obtiene una posición de 1 segundo, el DateFormat interpreta esto como significando que la fecha / hora es 1 segundo después del comienzo del calendario (que es el 1 de enero de 1970).

Tendrías que hacer algo como

 private String getTimeString(long millis) { StringBuffer buf = new StringBuffer(); int hours = (int) (millis / (1000 * 60 * 60)); int minutes = (int) ((millis % (1000 * 60 * 60)) / (1000 * 60)); int seconds = (int) (((millis % (1000 * 60 * 60)) % (1000 * 60)) / 1000); buf .append(String.format("%02d", hours)) .append(":") .append(String.format("%02d", minutes)) .append(":") .append(String.format("%02d", seconds)); return buf.toString(); } 

Y luego hacer algo como

 totalTime.setText(getTimeString(duration)); currentTime.setText(getTimeString(position)); 

La forma más sencilla de hacerlo es utilizando DateUtils.formatElapsedTime(long seconds) .

 import android.text.format.DateUtils; ... currentTime.setText( DateUtils.formatElapsedTime( player.getCurrentPosition() ) ); ... 
  • Hora del formato de la clase de tiempo de Android
  • ¿Cómo obtener la hora actual de Google para Android?
  • ¿Cómo cambiar el nombre de la aplicación de Android y el icono en tiempo de ejecución?
  • Hora del reloj Android GMT
  • Cómo obtener el tiempo de computación en NDK
  • OnRequestPermissionsResult se llama infinitamente
  • Glide image loading timeout increase
  • ¿Es posible ver variables en tiempo de ejecución?
  • Acelerar el tiempo del emulador de Android
  • ¿Cómo se puede comprobar el permiso en tiempo de ejecución sin lanzar SecurityException?
  • Formato de fecha y hora
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.