示例#1
0
        public TwitchVideo(JToken apiResponse)
        {
            int length, views, audioFps;
            double mediumFps, mobileFps, highFps, lowFps, chunkedFps;

            if (int.TryParse(apiResponse.SelectToken("length").ToString(), out length)) _length = length;
            if (int.TryParse(apiResponse.SelectToken("views").ToString(), out views)) _views = views;

            int.TryParse(apiResponse.SelectToken("fps").SelectToken("audio_only").ToString(), out audioFps);
            double.TryParse(apiResponse.SelectToken("fps").SelectToken("medium").ToString(), out mediumFps);
            double.TryParse(apiResponse.SelectToken("fps").SelectToken("mobile").ToString(), out mobileFps);
            double.TryParse(apiResponse.SelectToken("fps").SelectToken("high").ToString(), out highFps);
            double.TryParse(apiResponse.SelectToken("fps").SelectToken("low").ToString(), out lowFps);
            double.TryParse(apiResponse.SelectToken("fps").SelectToken("chunked").ToString(), out chunkedFps);

            _broadcastId = apiResponse.SelectToken("broadcast_id").ToString();
            _description = apiResponse.SelectToken("description").ToString();
            _fps = new FpsData(audioFps, mediumFps, mobileFps, highFps, lowFps, chunkedFps);
            _game = apiResponse.SelectToken("game").ToString();
            _id = apiResponse.SelectToken("_id").ToString();
            _preview = apiResponse.SelectToken("preview").ToString();
            _recordedAt = apiResponse.SelectToken("recorded_at").ToString();
            _status = apiResponse.SelectToken("status").ToString();
            _tagList = apiResponse.SelectToken("tag_list").ToString();
            _title = apiResponse.SelectToken("title").ToString();
            _url = apiResponse.SelectToken("url").ToString();

            _resolutions = new ResolutionsData(apiResponse.SelectToken("resolutions").SelectToken("medium").ToString(),
                apiResponse.SelectToken("resolutions").SelectToken("mobile").ToString(),
                apiResponse.SelectToken("resolutions").SelectToken("high").ToString(),
                apiResponse.SelectToken("resolutions").SelectToken("low").ToString(),
                apiResponse.SelectToken("resolutions").SelectToken("chunked").ToString());
            _channel = new ChannelData(apiResponse.SelectToken("channel").SelectToken("name").ToString(),
                apiResponse.SelectToken("channel").SelectToken("display_name").ToString());
        }
示例#2
0
        /// <summary>
        /// Video constructor
        /// </summary>
        /// <param name="apiResponse">API response string from Twitch call.</param>
        public Video(JToken apiResponse)
        {
            int length = -1;
            int views = -1;
            int audioFps = -1;
            double mediumFps = -1;
            double mobileFps = -1;
            double highFps = -1;
            double lowFps = -1;
            double chunkedFps = -1;

            if (int.TryParse(apiResponse.SelectToken("length").ToString(), out length)) Length = length;
            if (int.TryParse(apiResponse.SelectToken("views").ToString(), out views)) Views = views;

            if(apiResponse.SelectToken("fps").SelectToken("audio_only") != null)
                int.TryParse(apiResponse.SelectToken("fps").SelectToken("audio_only").ToString(), out audioFps);
            if(apiResponse.SelectToken("fps").SelectToken("medium") != null)
                double.TryParse(apiResponse.SelectToken("fps").SelectToken("medium").ToString(), out mediumFps);
            if(apiResponse.SelectToken("fps").SelectToken("mobile") != null)
                double.TryParse(apiResponse.SelectToken("fps").SelectToken("mobile").ToString(), out mobileFps);
            if(apiResponse.SelectToken("fps").SelectToken("high") != null)
                double.TryParse(apiResponse.SelectToken("fps").SelectToken("high").ToString(), out highFps);
            if(apiResponse.SelectToken("fps").SelectToken("low") != null)
                double.TryParse(apiResponse.SelectToken("fps").SelectToken("low").ToString(), out lowFps);
            if(apiResponse.SelectToken("fps").SelectToken("chunked") != null)
                double.TryParse(apiResponse.SelectToken("fps").SelectToken("chunked").ToString(), out chunkedFps);

            BroadcastId = apiResponse.SelectToken("broadcast_id").ToString();
            Description = apiResponse.SelectToken("description").ToString();
            Fps = new FpsData(audioFps, mediumFps, mobileFps, highFps, lowFps, chunkedFps);
            Game = apiResponse.SelectToken("game").ToString();
            Id = apiResponse.SelectToken("_id").ToString();
            Preview = apiResponse.SelectToken("preview").ToString();
            RecordedAt = Common.DateTimeStringToObject(apiResponse.SelectToken("recorded_at").ToString());
            TimeSinceRecorded = DateTime.UtcNow - RecordedAt;
            Status = apiResponse.SelectToken("status").ToString();
            TagList = apiResponse.SelectToken("tag_list").ToString();
            Title = apiResponse.SelectToken("title").ToString();
            Url = apiResponse.SelectToken("url").ToString();

            Resolutions = new ResolutionsData(apiResponse.SelectToken("resolutions").SelectToken("medium").ToString(),
                apiResponse.SelectToken("resolutions").SelectToken("mobile").ToString(),
                apiResponse.SelectToken("resolutions").SelectToken("high").ToString(),
                apiResponse.SelectToken("resolutions").SelectToken("low").ToString(),
                apiResponse.SelectToken("resolutions").SelectToken("chunked").ToString());
            Channel = new ChannelData(apiResponse.SelectToken("channel").SelectToken("name").ToString(),
                apiResponse.SelectToken("channel").SelectToken("display_name").ToString());
        }
示例#3
0
        public TwitchVideo(JToken apiResponse)
        {
            int    length, views, audioFps;
            double mediumFps, mobileFps, highFps, lowFps, chunkedFps;

            if (int.TryParse(apiResponse.SelectToken("length").ToString(), out length))
            {
                _length = length;
            }
            if (int.TryParse(apiResponse.SelectToken("views").ToString(), out views))
            {
                _views = views;
            }

            int.TryParse(apiResponse.SelectToken("fps").SelectToken("audio_only").ToString(), out audioFps);
            double.TryParse(apiResponse.SelectToken("fps").SelectToken("medium").ToString(), out mediumFps);
            double.TryParse(apiResponse.SelectToken("fps").SelectToken("mobile").ToString(), out mobileFps);
            double.TryParse(apiResponse.SelectToken("fps").SelectToken("high").ToString(), out highFps);
            double.TryParse(apiResponse.SelectToken("fps").SelectToken("low").ToString(), out lowFps);
            double.TryParse(apiResponse.SelectToken("fps").SelectToken("chunked").ToString(), out chunkedFps);

            _broadcastId = apiResponse.SelectToken("broadcast_id").ToString();
            _description = apiResponse.SelectToken("description").ToString();
            _fps         = new FpsData(audioFps, mediumFps, mobileFps, highFps, lowFps, chunkedFps);
            _game        = apiResponse.SelectToken("game").ToString();
            _id          = apiResponse.SelectToken("_id").ToString();
            _preview     = apiResponse.SelectToken("preview").ToString();
            _recordedAt  = apiResponse.SelectToken("recorded_at").ToString();
            _status      = apiResponse.SelectToken("status").ToString();
            _tagList     = apiResponse.SelectToken("tag_list").ToString();
            _title       = apiResponse.SelectToken("title").ToString();
            _url         = apiResponse.SelectToken("url").ToString();

            _resolutions = new ResolutionsData(apiResponse.SelectToken("resolutions").SelectToken("medium").ToString(),
                                               apiResponse.SelectToken("resolutions").SelectToken("mobile").ToString(),
                                               apiResponse.SelectToken("resolutions").SelectToken("high").ToString(),
                                               apiResponse.SelectToken("resolutions").SelectToken("low").ToString(),
                                               apiResponse.SelectToken("resolutions").SelectToken("chunked").ToString());
            _channel = new ChannelData(apiResponse.SelectToken("channel").SelectToken("name").ToString(),
                                       apiResponse.SelectToken("channel").SelectToken("display_name").ToString());
        }
示例#4
0
        /// <summary>
        /// Video constructor
        /// </summary>
        /// <param name="apiResponse">API response string from Twitch call.</param>
        public Video(JToken apiResponse)
        {
            int    length     = -1;
            int    views      = -1;
            int    audioFps   = -1;
            double mediumFps  = -1;
            double mobileFps  = -1;
            double highFps    = -1;
            double lowFps     = -1;
            double chunkedFps = -1;

            if (int.TryParse(apiResponse.SelectToken("length").ToString(), out length))
            {
                Length = length;
            }
            if (int.TryParse(apiResponse.SelectToken("views").ToString(), out views))
            {
                Views = views;
            }

            if (apiResponse.SelectToken("fps").SelectToken("audio_only") != null)
            {
                int.TryParse(apiResponse.SelectToken("fps").SelectToken("audio_only").ToString(), out audioFps);
            }
            if (apiResponse.SelectToken("fps").SelectToken("medium") != null)
            {
                double.TryParse(apiResponse.SelectToken("fps").SelectToken("medium").ToString(), out mediumFps);
            }
            if (apiResponse.SelectToken("fps").SelectToken("mobile") != null)
            {
                double.TryParse(apiResponse.SelectToken("fps").SelectToken("mobile").ToString(), out mobileFps);
            }
            if (apiResponse.SelectToken("fps").SelectToken("high") != null)
            {
                double.TryParse(apiResponse.SelectToken("fps").SelectToken("high").ToString(), out highFps);
            }
            if (apiResponse.SelectToken("fps").SelectToken("low") != null)
            {
                double.TryParse(apiResponse.SelectToken("fps").SelectToken("low").ToString(), out lowFps);
            }
            if (apiResponse.SelectToken("fps").SelectToken("chunked") != null)
            {
                double.TryParse(apiResponse.SelectToken("fps").SelectToken("chunked").ToString(), out chunkedFps);
            }

            BroadcastId       = apiResponse.SelectToken("broadcast_id").ToString();
            Description       = apiResponse.SelectToken("description").ToString();
            Fps               = new FpsData(audioFps, mediumFps, mobileFps, highFps, lowFps, chunkedFps);
            Game              = apiResponse.SelectToken("game").ToString();
            Id                = apiResponse.SelectToken("_id").ToString();
            Preview           = apiResponse.SelectToken("preview").ToString();
            RecordedAt        = Common.DateTimeStringToObject(apiResponse.SelectToken("recorded_at").ToString());
            TimeSinceRecorded = DateTime.UtcNow - RecordedAt;
            Status            = apiResponse.SelectToken("status").ToString();
            TagList           = apiResponse.SelectToken("tag_list").ToString();
            Title             = apiResponse.SelectToken("title").ToString();
            Url               = apiResponse.SelectToken("url").ToString();

            Resolutions = new ResolutionsData(apiResponse.SelectToken("resolutions").SelectToken("medium").ToString(),
                                              apiResponse.SelectToken("resolutions").SelectToken("mobile").ToString(),
                                              apiResponse.SelectToken("resolutions").SelectToken("high").ToString(),
                                              apiResponse.SelectToken("resolutions").SelectToken("low").ToString(),
                                              apiResponse.SelectToken("resolutions").SelectToken("chunked").ToString());
            Channel = new ChannelData(apiResponse.SelectToken("channel").SelectToken("name").ToString(),
                                      apiResponse.SelectToken("channel").SelectToken("display_name").ToString());
        }