Example #1
0
        /// <summary>
        /// 生放送に必要な情報を非同期でまとめて取得します。
        /// </summary>
        public static LiveStreamInfo GetLiveStreamInfo(string liveUrl,
                                                       CookieContainer cc)
        {
            var playerStatus = PlayerStatus.Create(liveUrl, cc);

            return(GetLiveStreamInfo(playerStatus, cc));
        }
Example #2
0
        /// <summary>
        /// タイムアウトつきでコメントサーバーに接続します。
        /// </summary>
        public void Connect(string liveUrl, CookieContainer cc,
                            bool currentRoomOnly, TimeSpan timeout)
        {
            var playerStatus = PlayerStatus.Create(liveUrl, cc);

            Connect(playerStatus, cc, currentRoomOnly, timeout);
        }
Example #3
0
        /// <summary>
        /// 放送関連情報を同期的に取得します。
        /// </summary>
        public static LiveStreamInfo GetLiveStreamInfoSync(string liveUrl,
                                                           CookieContainer cc)
        {
            var playerStatus = PlayerStatus.Create(liveUrl, cc);
            var id           = playerStatus.Stream.Id;

            // publishstatusは放送主しか取得することが出来ません。
            PublishStatus publishStatus = null;

            if (playerStatus.Stream.IsOwner)
            {
                publishStatus = PublishStatus.Create(id, cc);
            }

            // 放送情報を取得します。
            var liveInfo = LiveInfo.Create(id, cc);

            return(new LiveStreamInfo()
            {
                PlayerStatus = playerStatus,
                PublishStatus = publishStatus,
                LiveInfo = liveInfo,
            });
        }