+ @property
+ def sound_position(self):
+ if self.is_playing() and not self.is_paused():
+ return min(time.time() - self.started_at, self.sound_duration)
+ elif self.is_playing() and self.is_paused():
+ return min(self.paused_at - self.started_at, self.sound_duration)
+ else:
+ return 0
+