Beispiel #1
0
 public override void 保存至配置文件()
 {
     MMPU.默认弹幕颜色 = 颜色字符串;
     MMPU.setFiles("DanMuColor", 颜色字符串);
     MMPU.默认弹幕大小 = 大小;
     MMPU.setFiles("DanMuSize", 大小.ToString());
 }
Beispiel #2
0
        private void 修改播放器默认大小确定按钮点击事件(object sender, RoutedEventArgs e)
        {
            MMPU.PlayWindowW = int.Parse(默认播放宽度.Text);
            MMPU.setFiles("PlayWindowW", 默认播放宽度.Text);
            MMPU.PlayWindowH = int.Parse(默认播放高度.Text);
            MMPU.setFiles("PlayWindowH", 默认播放高度.Text);

            System.Windows.MessageBox.Show("修改成功");
        }
Beispiel #3
0
        private void 完成初始化()
        {
            //写配置文件
            MMPU.setFiles("IsFirstTimeUsing", "0");
            MMPU.setFiles("DataSource", _数据源.ToString());
            MMPU.数据源         = _数据源;
            MMPU.是否第一次使用DDTV = false;

            //关闭此窗口
            this.Close();
        }
Beispiel #4
0
        private void 修改默认下载目录按钮事件(object sender, RoutedEventArgs e)
        {
            FolderBrowserDialog P_File_Folder = new FolderBrowserDialog();

            if (P_File_Folder.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                MMPU.载储存目录  = P_File_Folder.SelectedPath;
                默认下载路径.Text = MMPU.载储存目录;
                MMPU.setFiles("file", MMPU.载储存目录);
            }
        }
Beispiel #5
0
 private void 修改字幕颜色按钮点击事件(object sender, RoutedEventArgs e)
 {
     System.Windows.Forms.ColorDialog colorDialog = new System.Windows.Forms.ColorDialog();
     if (colorDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
     {
         System.Drawing.SolidBrush sb = new System.Drawing.SolidBrush(colorDialog.Color);
         SolidColorBrush           solidColorBrush = new SolidColorBrush(Color.FromArgb(sb.Color.A, sb.Color.R, sb.Color.G, sb.Color.B));
         字幕默认颜色.Foreground = solidColorBrush;
         MMPU.默认字幕颜色       = solidColorBrush.Color.A.ToString("X2") + "," + solidColorBrush.Color.R.ToString("X2") + "," + solidColorBrush.Color.G.ToString("X2") + "," + solidColorBrush.Color.B.ToString("X2");
         MMPU.setFiles("ZiMuColor", MMPU.默认字幕颜色);
         字幕颜色 = solidColorBrush;
     }
 }
        private void 监控非VTB直播间使能按钮开关点击事件(object sender, RoutedEventArgs e)
        {
            if (监控非VTB直播间使能按钮.IsChecked == true)
            {
                NewThreadTask.Run(() =>
                {
                    持续连接获取阿B房间信息类.初始化所有房间连接();
                });

                bilibili.是否启动WS连接组 = true;
                MMPU.setFiles("NotVTBStatus", "1");
            }
            else
            {
                //bilibili.是否启动WS连接组 = false;
                //MMPU.setFiles("NotVTBStatus", "0");
            }
            提示.Content = "监控非VTB直播间状态使能发生变化,需手动重启DDTV生效";
        }
        private void 监控非VTB直播间使能按钮开关点击事件(object sender, RoutedEventArgs e)
        {
            if (监控非VTB直播间使能按钮.IsChecked == true)
            {
                //NewThreadTask.Run(() =>
                //{
                //    持续连接获取阿B房间信息类.初始化所有房间连接();
                //});

                bilibili.是否启动WSS连接组 = true;
                MMPU.setFiles("NotVTBStatus", "1");
            }
            else
            {
                bilibili.是否启动WSS连接组 = false;
                MMPU.setFiles("NotVTBStatus", "0");
            }
            提示.Content = "监控非VTB直播间状态使能发生变化,需手动重启DDTV生效";
            MessageBox.Show("!!重要功能更改!!\r需手动重启DDTV生效,重要配置变化,不重启可能会出现未知错误");
        }
Beispiel #8
0
        public void 软件启动配置初始化()
        {
            #region 配置文件设置

            try
            {
                RoomConfigFile = MMPU.getFiles("RoomConfiguration");
            }
            catch (Exception)
            {
                MMPU.setFiles("RoomConfiguration", "./RoomListConfig.json");
                RoomConfigFile = "./RoomListConfig.json";
            }
            //播放窗口默认高度
            try
            {
                MMPU.PlayWindowH = int.Parse(MMPU.getFiles("PlayWindowH"));
            }
            catch (Exception)
            {
                MMPU.setFiles("PlayWindowH", "450");
                MMPU.PlayWindowH = 450;
            }
            //播放窗口默认宽度
            try
            {
                MMPU.PlayWindowW = int.Parse(MMPU.getFiles("PlayWindowW"));
            }
            catch (Exception)
            {
                MMPU.setFiles("PlayWindowW", "800");
                MMPU.PlayWindowH = 800;
            }
            //直播缓存目录
            try
            {
                MMPU.直播缓存目录 = MMPU.getFiles("Livefile");
            }
            catch (Exception)
            {
                MMPU.setFiles("Livefile", "./tmp/LiveCache/");
                MMPU.直播缓存目录 = "./tmp/LiveCache/";
            }
            //直播缓存目录
            try
            {
                MMPU.载储存目录 = MMPU.getFiles("file");
            }
            catch (Exception)
            {
                MMPU.setFiles("file", "./tmp/");
                MMPU.载储存目录 = "./tmp/";
            }
            //直播更新时间
            try
            {
                MMPU.直播更新时间 = int.Parse(MMPU.getFiles("RoomTime"));
            }
            catch (Exception)
            {
                MMPU.setFiles("RoomTime", "40");
                MMPU.直播更新时间 = 40;
            }
            //默认音量
            try
            {
                MMPU.默认音量 = int.Parse(MMPU.getFiles("DefaultVolume"));
            }
            catch (Exception)
            {
                MMPU.setFiles("DefaultVolume", "50");
                MMPU.默认音量 = 50;
            }
            //缩小功能
            try
            {
                MMPU.缩小功能 = int.Parse(MMPU.getFiles("Zoom"));
            }
            catch (Exception)
            {
                MMPU.setFiles("Zoom", "1");
                MMPU.缩小功能 = 1;
            }
            //最大直播并行数量
            try
            {
                MMPU.最大直播并行数量 = int.Parse(MMPU.getFiles("PlayNum"));
            }
            catch (Exception)
            {
                MMPU.setFiles("PlayNum", "5");
                MMPU.最大直播并行数量 = 5;
            }
            //默认弹幕颜色
            try
            {
                MMPU.默认弹幕颜色 = MMPU.getFiles("DanMuColor");
            }
            catch (Exception)
            {
                MMPU.setFiles("DanMuColor", "0xFF, 0x00, 0x00, 0x00");
                MMPU.默认弹幕颜色 = "0xFF, 0x00, 0x00, 0x00";
            }
            //默认字幕颜色
            try
            {
                MMPU.默认字幕颜色 = MMPU.getFiles("ZiMuColor");
            }
            catch (Exception)
            {
                MMPU.setFiles("ZiMuColor", "0xFF, 0x00, 0x00, 0x00");
                MMPU.默认字幕颜色 = "0xFF, 0x00, 0x00, 0x00";
            }
            //默认字幕大小
            try
            {
                MMPU.默认字幕大小 = int.Parse(MMPU.getFiles("ZiMuSize"));
            }
            catch (Exception)
            {
                MMPU.setFiles("ZiMuSize", "24");
                MMPU.默认字幕大小 = 24;
            }
            //默认弹幕大小
            try
            {
                MMPU.默认弹幕大小 = int.Parse(MMPU.getFiles("DanMuSize"));
            }
            catch (Exception)
            {
                MMPU.setFiles("DanMuSize", "20");
                MMPU.默认弹幕大小 = 20;
            }
            #endregion
            //初始化房间
            RoomInit.start();
            //公告加载线程
            new Thread(new ThreadStart(delegate {
                公告项目启动();
            })).Start();
            //房间刷新线程
            new Thread(new ThreadStart(delegate
            {
                while (true)
                {
                    刷新房间列表UI();
                    Thread.Sleep(5 * 1000);
                    this.Dispatcher.Invoke(new Action(delegate
                    {
                        newtime.Content = "数据更新时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                    }));
                    while (true)
                    {
                        if (房间信息更新次数 > 0)
                        {
                            this.Dispatcher.Invoke(new Action(delegate
                            {
                                首次更新.Visibility = Visibility.Collapsed;
                            }));
                            break;
                        }
                        Thread.Sleep(100);
                    }
                }
            })).Start();
            //延迟测试
            new Thread(new ThreadStart(delegate
            {
                while (true)
                {
                    try
                    {
                        double 国内   = MMPU.测试延迟("https://live.bilibili.com");
                        string 国内延迟 = string.Empty;
                        string 国外延迟 = string.Empty;
                        if (国内 > 0)
                        {
                            国内延迟         = "国内服务器延迟(阿B):" + 国内.ToString().Split('.')[0] + "ms";
                            MMPU.是否能连接阿B = true;
                        }
                        else
                        {
                            国内延迟         = "国内服务器延迟(阿B): 连接超时";
                            MMPU.是否能连接阿B = false;
                        }

                        if (MMPU.连接404使能)
                        {
                            double 国外 = MMPU.测试延迟("https://www.google.com");
                            if (国外 > 0)
                            {
                                国外延迟          = "国内服务器延迟(404):" + 国外.ToString().Split('.')[0] + "ms";
                                MMPU.是否能连接404 = true;
                            }
                            else
                            {
                                国外延迟          = "国内服务器延迟(404): 连接超时";
                                MMPU.是否能连接404 = false;
                            }
                        }
                        else
                        {
                            MMPU.是否能连接404 = false;
                            国外延迟          = "";
                        }
                        this.Dispatcher.Invoke(new Action(delegate
                        {
                            国内服务器延迟.Content = 国内延迟;
                        }));
                        if (MMPU.连接404使能)
                        {
                            this.Dispatcher.Invoke(new Action(delegate
                            {
                                国外服务器延迟.Content = 国外延迟;
                            }));
                        }
                        else
                        {
                            this.Dispatcher.Invoke(new Action(delegate
                            {
                                国外服务器延迟.Content = "";
                            }));
                        }
                    }
                    catch (Exception) { }
                    Thread.Sleep(4000);
                }
            })).Start();
            //缩小功能
            {
                MMPU.缩小功能 = int.Parse(MMPU.getFiles("Zoom"));
                if (MMPU.缩小功能 == 1)
                {
                    缩小到任务栏选择按钮.IsChecked = true;
                }
                else
                {
                    隐藏到后台托盘选择按钮.IsChecked = true;
                }
            }
            //加载配置文件
            {
                默认音量值显示.Content = MMPU.默认音量;
                修改默认音量.Value    = MMPU.默认音量;
                默认下载路径.Text     = MMPU.载储存目录;
                //读取字幕弹幕颜色
                {
                    SolidColorBrush S1 = new SolidColorBrush(Color.FromArgb(0xFF, Convert.ToByte(MMPU.默认字幕颜色.Split(',')[1], 16), Convert.ToByte(MMPU.默认字幕颜色.Split(',')[2], 16), Convert.ToByte(MMPU.默认字幕颜色.Split(',')[3], 16)));
                    this.Dispatcher.Invoke(new Action(delegate
                    {
                        字幕默认颜色.Foreground = S1;
                        字幕颜色 = S1;
                    }));
                    SolidColorBrush S2 = new SolidColorBrush(Color.FromArgb(0xFF, Convert.ToByte(MMPU.默认弹幕颜色.Split(',')[1], 16), Convert.ToByte(MMPU.默认弹幕颜色.Split(',')[2], 16), Convert.ToByte(MMPU.默认弹幕颜色.Split(',')[3], 16)));
                    this.Dispatcher.Invoke(new Action(delegate
                    {
                        弹幕默认颜色.Foreground = S2;
                        弹幕颜色 = S2;
                    }));
                }
                //读取字幕弹幕字体大小
                {
                    字幕文字大小.Text = MMPU.默认字幕大小.ToString();
                    弹幕文字大小.Text = MMPU.默认弹幕大小.ToString();
                }
                //默认音量
                {
                    修改默认音量.Value = MMPU.默认音量;
                }
                //播放窗口默认大小
                {
                    默认播放宽度.Text = MMPU.PlayWindowW.ToString();
                    默认播放高度.Text = MMPU.PlayWindowH.ToString();
                }
            }
            //增加插件列表
            {
                PluginC.Items.Add(new
                {
                    编号   = "1",
                    称    = "bilibili数据接口插件",
                    版本   = "1.0.1.1",
                    是否加载 = "√",
                    说明   = "获取和处理来自阿B的直播数据流",
                    备注   = ""
                });
                PluginC.Items.Add(new
                {
                    编号   = "2",
                    称    = "播放插件",
                    版本   = "1.0.0.4",
                    是否加载 = "√",
                    说明   = "用于播放直播视频流",
                    备注   = ""
                });
                PluginC.Items.Add(new
                {
                    编号   = "3",
                    称    = "DDNA直播统计插件",
                    版本   = "1.0.0.1",
                    是否加载 = "√",
                    说明   = "用于获取目前已知正在直播的vtb列表(工具箱内)",
                    备注   = ""
                });
            }

            //剪切板监听,用于播放主站视频

            // Thread T1 = new Thread(new ThreadStart(delegate
            //{
            //    while (true)
            //    {
            //        try
            //        {
            //            System.Windows.IDataObject iData = System.Windows.Clipboard.GetDataObject();
            //            string A = (string)iData.GetData(System.Windows.DataFormats.Text);
            //            if (!string.IsNullOrEmpty(A))
            //            {
            //                if (A.Substring(0, 4).ToLower() == "http" && A.Contains("www.bilibili.com/video/"))
            //                {
            //                    string C = A.Replace("www.bilibili.com/video/", "㈨").Split('㈨')[1].Split('/')[0].ToLower().Replace("av", "");
            //                    System.Windows.Clipboard.SetDataObject("");
            //                     // string AB = MMPU.获取网页数据_下载视频用("https://www.bilibili.com/video/av68188405");
            //                     string CIDstr = MMPU.获取网页数据_下载视频用("https://www.bilibili.com/widget/getPageList?aid=" + C, true);
            //                    JArray JO1 = (JArray)JsonConvert.DeserializeObject(CIDstr);
            //                    string CID = JO1[0]["cid"].ToString();
            //                    string 下载地址 = MMPU.获取网页数据_下载视频用("https://api.bilibili.com/x/player/playurl?avid=" + C + "&cid=" + "118184249" + "&otype=json&qn=116", false);
            //                    JObject JO2 = (JObject)JsonConvert.DeserializeObject(下载地址);
            //                    下载地址 = JO2["data"]["durl"][0]["url"].ToString();
            //                    Downloader 下载对象 = new Downloader
            //                    {
            //                        DownIofo = new Downloader.DownIofoData() { 平台 = "主站视频", 房间_频道号 = "主站视频", 标题 = "主站视频", 事件GUID = Guid.NewGuid().ToString(), 下载地址 = 下载地址, 备注 = "主站视频播放", 是否保存 = false }
            //                    };
            //                     //Downloader 下载对象 = Downloader.新建下载对象(平台, 唯一码, 标题, GUID, 下载地址, "视频播放缓存", false);

            //                     Task.Run(() =>
            //                    {
            //                        this.Dispatcher.Invoke(new Action(delegate
            //                        {
            //                            打开直播列表(下载对象);
            //                            MMPU.当前直播窗口数量++;
            //                            等待框.Visibility = Visibility.Collapsed;
            //                        }));
            //                    });
            //                }
            //            }
            //        }
            //        catch (Exception ex)
            //        {

            //        }
            //        Thread.Sleep(500);
            //    }
            //}));
            // T1.TrySetApartmentState(ApartmentState.STA);
            // T1.Start();

            this.Dispatcher.Invoke(new Action(delegate
            {
                版本显示.Content = "版本:" + MMPU.版本号;
            }));
        }
Beispiel #9
0
 private void 修改字幕文字大小确定按钮点击事件(object sender, RoutedEventArgs e)
 {
     MMPU.默认字幕大小 = int.Parse(字幕文字大小.Text);
     MMPU.setFiles("ZiMuSize", 字幕文字大小.Text);
     System.Windows.MessageBox.Show("修改成功");
 }
Beispiel #10
0
 private void 修改最大直播并行数量确定按钮点击事件(object sender, RoutedEventArgs e)
 {
     MMPU.最大直播并行数量 = int.Parse(并行直播数量.Text);
     MMPU.setFiles("PlayNum", 并行直播数量.Text);
     System.Windows.MessageBox.Show("修改成功");
 }
Beispiel #11
0
 private void 缩小_后台托盘选择事件(object sender, RoutedEventArgs e)
 {
     MMPU.缩小功能 = 0;
     MMPU.setFiles("Zoom", "0");
 }
Beispiel #12
0
 private void 缩小_任务栏选择事件(object sender, RoutedEventArgs e)
 {
     MMPU.缩小功能 = 1;
     MMPU.setFiles("Zoom", "1");
 }