internal AudioPlayableMediator(IAudioStorage storage, IWebDownloader downloader, IAudio audio, Uri url) { __InternalPlayable = new AudioPlayable(audio, storage, downloader, url); __InternalPlayable.DownloadedFracionChanged += OnPercentsDownloadedChanged; __InternalPlayable.AudioNaturallyEnded += WhenStop; __Duration = audio.Duration; __PlaybackTimer.Elapsed += (sender, args) => OnSecondsPlayedChanged(); __PlaybackTimer.AutoReset = true; }