/// <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(); }); }
/// <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)); }