Чтобы показать время воспроизведения, я использовал Таймер и TimerTask , который обновляет TextView tv
каждые 1000 мс.Обратите внимание, что использование tv.post (Runnable action) для установки текста в текстовом представлении не блокирует поток пользовательского интерфейса и может вызвать проблемы.
if (player != null) {
player.start();
timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
if (player != null && player.isPlaying()) {
tv.post(new Runnable() {
@Override
public void run() {
tv.setText(player.getCurrentPosition());
}
});
} else {
timer.cancel();
timer.purge();
}
}
});
}
}, 0, 1000);
}