private AudioInfo(IAudioStorage storage, IWebDownloader downloader, long audioId, long userId, string title, string artist, int duration, int index, Uri url) { __AudioId = audioId; __UserId = userId; __Title = title; __Artist = artist; __Duration = duration; __Index = index; __Playable = new AudioPlayableMediator(storage, downloader, this, url); }
public AudioModel(IAudio internalAudio) { __InternalAudio = internalAudio; __Playable = __InternalAudio.Playable; __InternalAudio.Playable.PlayingStateChanged += sender => AudioState = sender.State; __InternalAudio.Playable.PercentsDownloadedChanged += sender => { OnPropertyChanged("IsCached"); OnPropertyChanged("Downloaded"); }; __InternalAudio.Playable.SecondsPlayedChanged += sender => OnPropertyChanged("TimePlayed"); Downloaded = __InternalAudio.Playable.PercentsDownloaded; }