When you start the player, you need to update and display the time of the current composition: in this code, I update seekbar, as I do the same for composition time + implementation millisecondsToTime
public void startMediaPlayer() { mediaPlayer = new MediaPlayer(); mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { seekBar.setMax(mp.getDuration()); seekBar.postDelayed(onEverySecond, 1000); mediaPlayer.start(); } }); } private Runnable onEverySecond = new Runnable() { @Override public void run() { if (seekBar != null) { seekBar.setProgress(mediaPlayer.getCurrentPosition()); } if (mediaPlayer.isPlaying()) { seekBar.postDelayed(onEverySecond, 1000); } } }; Markup:
<TextView android:id="@+id/textPlayer" android:textColor="@color/white" android:layout_width="50dp" android:layout_height="wrap_content" android:layout_margin="10dp" android:text="00:00" android:textSize="20sp" />