/// <summary> /// publishstatusの取得を開始します。 /// </summary> private static void BeginGetPublishStatus(long liveId, InternalData internalData, AutoResetEvent ev) { WebUtil.RequestHttpAsync( NicoString.GetPublishStatusUrl(liveId), null, internalData.Cookie, (result, data) => { try { // publishstatusは放送主でないと取得できません。 var v = PublishStatus.CreateFromXml(liveId, NicoUtil.GetXml(data)); internalData.LiveStreamInfo.PublishStatus = v; } catch (Exception ex) { internalData.Exception = ex; } ev.Set(); }); }
/// <summary> /// ニコニコ生放送の情報を取得します。 /// </summary> public static PublishStatus Create(long liveId, CookieContainer cc) { // 生放送IDから放送情報を取得します。 var node = NicoUtil.GetXml( NicoString.GetPublishStatusUrl(liveId), cc); if (node == null) { throw new NicoLiveException( NicoStatusCode.NetworkError, NicoString.LiveIdString(liveId)); } return(CreateFromXml(liveId, node)); }