Thanks for the response but It doesn't help in this case: getCurrentPosition () tells us the current playback position, getDuration() the duration of the file. But once onCompletion() is called I no longer get the values that I need.

I think to solve the problem we need a thread that is running at the same time as the MediaPlayer to periodically check the current position with getCurrentPosition().

But I was hoping for a much simpler solution such as the MediaPlayer reporting the final position of the playback.