public CacheRequest(string videoId, DateTime requestAt, NicoVideoCacheState cacheState = NicoVideoCacheState.NotCacheRequested, NicoVideoQuality priorityQuality = NicoVideoQuality.Unknown) { VideoId = videoId; CacheState = cacheState; RequestAt = requestAt; PriorityQuality = priorityQuality; }
private async void _NiconicoMediaManager_VideoCacheStateChanged(object sender, NicoVideoCacheRequest request, NicoVideoCacheState state) { if (this.RawVideoId == request.RawVideoId) { var divided = GetDividedQualityNicoVideo(request.Quality); // divided.CacheState = state; Debug.WriteLine($"{request.RawVideoId}<{request.Quality}>: {state.ToString()}"); // update Cached time await divided.GetCacheFile(); if (state != NicoVideoCacheState.NotCacheRequested) { var requestAt = request.RequestAt; foreach (var div in GetAllQuality()) { if (div.VideoFileCreatedAt > requestAt) { requestAt = div.VideoFileCreatedAt; } } await HohoemaApp.UIDispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { CachedAt = requestAt; }); } } }