public bool GetMemberOnlyInfo(string iLiveID)
        {
            Nico nico = Nico.Instance;

            mIsMemberOnly = nico.IsMemberOnly(iLiveID);
            return(mIsMemberOnly);
        }
        //-------------------------------------------------------------------------
        // 情報取得
        //-------------------------------------------------------------------------
        public InfoErr GetInfo(string iLiveID)
        {
            Nico nico = Nico.Instance;
            Dictionary <string, string> info_PublishStatus = nico.GetPublishStatus(iLiveID);
            Dictionary <string, string> info_PlayerStatus  = nico.GetPlayerStatus(iLiveID);

            Utils.WriteLog("GetInfo()");

            if (info_PlayerStatus != null)
            {
                // コミュ番号取得
                if (info_PlayerStatus.ContainsKey("room_label"))
                {
                    RoomLabel = info_PlayerStatus["room_label"];
                }
                if (info_PlayerStatus.ContainsKey("title"))
                {
                    Title = info_PlayerStatus["title"];
                }
                // 来場者数
                if (info_PlayerStatus.ContainsKey("watch_count"))
                {
                    WatchCount = uint.Parse(info_PlayerStatus["watch_count"].ToString());
                }
            }

            if (info_PublishStatus != null && info_PublishStatus.ContainsKey("code") && info_PublishStatus["code"].Equals("permission_denied"))
            {
                return(InfoErr.ERR_NO_ERR);
            }

            if (info_PublishStatus != null)
            {
                // 来場者数
                //                if (info.ContainsKey("watch_count"))
                //                {
                //                    WatchCount = uint.Parse(info["watch_count"].ToString());
                //                }

                if (!info_PublishStatus.ContainsKey("token"))
                {
                    return(InfoErr.ERR_NOT_LOGIN);
                }

                // 時間
                if (info_PublishStatus.ContainsKey("time") &&
                    info_PublishStatus.ContainsKey("start_time") &&
                    info_PublishStatus.ContainsKey("base_time"))
                {
                    Time      = Convert.ToUInt32(info_PublishStatus["time"]);
                    BaseTime  = Convert.ToUInt32(info_PublishStatus["base_time"]);
                    StartTime = Convert.ToUInt32(info_PublishStatus["start_time"]);
                    EndTime   = Convert.ToUInt32(info_PublishStatus["end_time"]);
                    UnixTime  = Utils.GetUnixTime(DateTime.Now);
                }

                // ニックネーム
                if (info_PublishStatus.ContainsKey("nickname"))
                {
                    Nickname = info_PublishStatus["nickname"];
                }

                // トークン
                if (info_PublishStatus.ContainsKey("token"))
                {
                    Token = info_PublishStatus["token"];
                }
            }

            InfoErr err = (info_PublishStatus != null) ? InfoErr.ERR_NO_ERR : InfoErr.ERR_COULD_NOT_GET;

            info_PublishStatus = null;
            info_PlayerStatus  = null;

            return(err);
        }
Example #3
0
        //-------------------------------------------------------------------------
        // 外部エンコーダー起動
        //-------------------------------------------------------------------------
        public static void Exec(string LiveID)
        {
            Thread th = new Thread(delegate()
            {
                // NLE
                if (Properties.Settings.Default.use_nle)
                {
                    if (NLE.IsAlive)
                    {
                        NLE.Start();
                        using (Bouyomi bm = new Bouyomi())
                        {
                            bm.Talk("えぬえるいー配信を開始します。");
                        }
                    }
                    else
                    {
                        using (Bouyomi bm = new Bouyomi())
                        {
                            bm.Talk("えぬえるいー配信なんてなかった。");
                        }
                    }
                    return;
                }

                // XSplit
                if (Properties.Settings.Default.use_xsplit)
                {
                    XSplit.Start();
                    using (Bouyomi bm = new Bouyomi())
                    {
                        bm.Talk("エックスプリット配信を開始します。");
                    }
                    return;
                }


                // FME
                if (Properties.Settings.Default.use_fme)
                {
                    string path = Properties.Settings.Default.fmle_profile_path + "\\" + Properties.Settings.Default.fmle_default_profile;;

                    if (!File.Exists(path) && !Properties.Settings.Default.use_xsplit && !Properties.Settings.Default.use_nle)
                    {
                        using (Bouyomi bm = new Bouyomi())
                        {
                            bm.Talk("えふえむいープロファイルが見つかりませんでした");
                        }
                        return;
                    }
                    Nico nico = Nico.Instance;
                    string fmle_profile_path = Properties.Settings.Default.fmle_profile_path + "\\" + Properties.Settings.Default.fmle_default_profile;

                    string lv = LiveID;
                    if (lv.Length > 2)
                    {
                        Dictionary <string, string> fme_profiles = nico.GetFMEProfile(lv);
                        if (fme_profiles == null)
                        {
                            return;
                        }
                        if (fme_profiles.Count <= 1)
                        {
                            return;
                        }
                        if (fme_profiles["status"].Equals("ok"))
                        {
                            FMLE.Start(fme_profiles, fmle_profile_path);
                        }
                    }
                }
            });

            th.Name = "NivoLive.HQ.Exec(): FME";
            th.Start();
        }