Попробуйте использовать
long totalDuration = mediaPlayer.getDuration(); // to get total duration in milliseconds
long currentDuration = mediaPlayer.getCurrentPosition(); // to Gets the current playback position in milliseconds
Деление на 1000, чтобы преобразовать в секунды.
Надеюсь, это помогло вам.
Но как мне тогда узнать, что узел перезапустился и снова в работе? Конечно, я могу периодически пинговать узел, пока он не будет восстановлен, но есть ли лучший способ, который я просто пропустил? Группы процессов - лучший способ достичь этого?
Просто идея, но как насчет того, чтобы сам узел перезапуска явно информировал узел супервизора / мониторинга о том, что он завершил перезапуск и что это снова доступен?
Вы можете использовать для этой цели повторяющееся «контрольное сообщение» или придумать собственное сообщение, специально предназначенное для отправки один раз после успешной инициализации. Что-то вроде:
start(SupervisorPID) ->
SuperVisorPID ! {hello, MyPID};
mainloop().