public int getCurrentPosition() {
        return Math.min(duration, timePassedBeforeLastStart +
                (timeLastStartTimestamp < 0 ? 0 : ((int) (System.currentTimeMillis() - timeLastStartTimestamp))));
    }
Represents and manages one audio file or tone
main/src/main/java/cgeo/geocaching/utils/AudioManager.java