コード例 #1
0
        public VideoStreamingSession(NiconicoSession niconicoSession, NicoVideoSessionOwnershipManager.VideoSessionOwnership videoSessionOwnership)
        {
            NiconicoSession        = niconicoSession;
            _videoSessionOwnership = videoSessionOwnership;

            if (_videoSessionOwnership != null)
            {
                _videoSessionOwnership.ReturnOwnershipRequested += _videoSessionOwnership_ReturnOwnershipRequested;
            }
        }
コード例 #2
0
        public DmcVideoStreamingSession(string qualityId, DmcWatchApiData res, NiconicoSession niconicoSession, NicoVideoSessionOwnershipManager.VideoSessionOwnership videoSessionOwnership, bool forCacheDownload = false)
            : base(niconicoSession, videoSessionOwnership)
        {
            _dmcWatchData     = res;
            _forCacheDownload = forCacheDownload;
            QualityId         = qualityId;
            Quality           = res.ToNicoVideoQuality(qualityId);

#if DEBUG
            Debug.WriteLine($"Id/Bitrate/Resolution/Available");
            foreach (var q in _dmcWatchData.Media.Delivery.Movie.Videos)
            {
                Debug.WriteLine($"{q.Id}/{q.Metadata.Bitrate}/{q.IsAvailable}/{q.Metadata.Resolution}");
            }
#endif

            VideoContent = _dmcWatchData.Media.Delivery.Movie.Videos.FirstOrDefault(x => x.Id == qualityId);

            if (VideoContent != null)
            {
                Debug.WriteLine($"{VideoContent.Id}/{VideoContent.Metadata.Bitrate}/{VideoContent.IsAvailable}/w={VideoContent.Metadata.Resolution.Width} h={VideoContent.Metadata.Resolution.Height}");
            }
        }