Example #1
0
        /// <summary>
        /// playerstatusの取得を開始します。
        /// </summary>
        private static void BeginGetPlayerStatus(long liveId,
                                                 InternalData internalData,
                                                 AutoResetEvent ev)
        {
            WebUtil.RequestHttpAsync(
                NicoString.GetPlayerStatusUrl(liveId),
                null,
                internalData.Cookie,
                (result, data) =>
            {
                try
                {
                    // ステータスがおかしければエラーとします。
                    var v = PlayerStatus.CreateFromXml(liveId, NicoUtil.GetXml(data));

                    internalData.LiveStreamInfo.PlayerStatus = v;
                }
                catch (Exception ex)
                {
                    internalData.Exception = ex;
                }

                ev.Set();
            });
        }
Example #2
0
        /// <summary>
        /// ニコニコ生放送の情報を取得します。
        /// </summary>
        public static PlayerStatus Create(long liveId, CookieContainer cc)
        {
            // 生放送IDから放送情報を取得します。
            var node = LiveUtil.GetXml(
                NicoString.GetPlayerStatusUrl(liveId),
                cc);

            if (node == null)
            {
                throw new NicoLiveException(
                          LiveStatusCode.NetworkError,
                          LiveUtil.LiveIdString(liveId));
            }

            return(CreateFromXml(liveId, node));
        }