コード例 #1
0
 public CacheRequest(string videoId, DateTime requestAt, NicoVideoCacheState cacheState = NicoVideoCacheState.NotCacheRequested, NicoVideoQuality priorityQuality = NicoVideoQuality.Unknown)
 {
     VideoId         = videoId;
     CacheState      = cacheState;
     RequestAt       = requestAt;
     PriorityQuality = priorityQuality;
 }
コード例 #2
0
        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;
                    });
                }
            }
        }