public static Downloader 新建下载对象(string 平台, string 唯一码, string 标题, string GUID, string 载地址, string 备注, bool 是否保存) { Downloader 载对象 = new Downloader(); string 保存路径; if (MMPU.载储存目录 == "./tmp/") { 保存路径 = AppDomain.CurrentDomain.BaseDirectory + "tmp\\" + 平台 + "_" + 唯一码 + "\\"; if (Directory.Exists(保存路径))//如果不存在就创建文件夹 { Directory.CreateDirectory(保存路径); } 保存路径 = 保存路径 + 标题 + "_" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".flv"; } else { 保存路径 = MMPU.载储存目录 + "\\" + 平台 + "_" + 唯一码 + "\\"; if (!Directory.Exists(保存路径))//如果不存在就创建file文件夹 { try { Directory.CreateDirectory(保存路径); } catch (Exception) { MMPU.载储存目录 = "./tmp/"; MMPU.setFiles("file", MMPU.载储存目录); 保存路径 = MMPU.载储存目录 + "\\" + 平台 + "_" + 唯一码 + "\\"; } } 保存路径 = 保存路径 + 标题 + "_" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".flv"; } 载对象.DownIofo = new Downloader.DownIofoData { 平台 = 平台, 房间_频道号 = 唯一码, 文件保存路径 = 保存路径, 事件GUID = GUID, 载地址 = 载地址, 是否保存 = 是否保存, 标题 = 标题, 备注 = 备注 }; if (!是否保存) { int 随机值 = new Random().Next(1000, 9999); 载对象.DownIofo.文件保存路径 = AppDomain.CurrentDomain.BaseDirectory + "tmp\\LiveCache\\" + 载对象.DownIofo.标题 + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "_" + 随机值 + ".flv"; if (File.Exists(载对象.DownIofo.文件保存路径)) { 载对象.DownIofo.文件保存路径 = AppDomain.CurrentDomain.BaseDirectory + "tmp\\LiveCache\\" + 载对象.DownIofo.标题 + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "_" + (随机值) + 1 + ".flv"; } } MMPU.DownList.Add(载对象); 载对象.Start(备注); return(载对象); }
public static Downloader 新建下载对象(string 平台, string 唯一码, string 标题, string GUID, string 载地址, string 备注, bool 是否保存, string 主播名称, bool 是否为继承项目, string 继承项目的原始文件, DownIofoData 继承的项目 = null) { foreach (var item in MMPU.DownList) { if (item.DownIofo.房间_频道号 == 唯一码) { if (item.DownIofo.载状态 && item.DownIofo.是否保存 && 是否保存) { InfoLog.InfoPrintf($"新建任务冲突,放弃新建任务,任务内容:\r\n房间号:{唯一码}\r\n主播名称:{主播名称}\r\n标题:{标题}", InfoLog.InfoClass.载必要提示); return(null); } else { break; } } } if (string.IsNullOrEmpty(标题)) { 标题 = $"V{new Random().Next(10000,99999)}"; } Downloader 载对象 = new Downloader(); 载对象.DownIofo.继承 = new 继承(); string 缓存路径 = MMPU.缓存路径; string 保存路径; if (MMPU.载储存目录 == 缓存路径) { 保存路径 = 缓存路径 + 平台 + "_" + 主播名称 + "_" + 唯一码 + "/"; if (!Directory.Exists(保存路径))//如果不存在就创建文件夹 { Directory.CreateDirectory(保存路径); } 保存路径 = 保存路径 + 标题 + "_" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".flv"; } else { 保存路径 = MMPU.载储存目录 + "/" + 平台 + "_" + 主播名称 + "_" + 唯一码 + "/"; if (!Directory.Exists(保存路径))//如果不存在就创建file文件夹 { try { Directory.CreateDirectory(保存路径); } catch (Exception) { MMPU.载储存目录 = 缓存路径; MMPU.setFiles("file", MMPU.载储存目录); 保存路径 = MMPU.载储存目录 + "/" + 平台 + "_" + 主播名称 + "_" + 唯一码 + "/"; } } 保存路径 = 保存路径 + 标题 + "_" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".flv"; if (File.Exists(保存路径)) { Thread.Sleep(1); 保存路径 = MMPU.载储存目录 + "/" + 平台 + "_" + 主播名称 + "_" + 唯一码 + "/" + 标题 + "_" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".flv"; } } switch (平台) { case "bilibili": { 载地址 = 载地址; break; } case "youtube": { break; } } 载对象.DownIofo = new Downloader.DownIofoData { 平台 = 平台, 载状态 = true, 房间_频道号 = 唯一码, 文件保存路径 = 保存路径, 事件GUID = GUID, 载地址 = 载地址, 是否保存 = 是否保存, 标题 = 标题, 备注 = 备注, 主播名称 = 主播名称, 继承 = new 继承() { 是否为继承对象 = 是否为继承项目, 继承的下载文件路径 = 继承项目的原始文件, } }; if (继承的项目 != null) { 载对象.DownIofo.继承.待合并文件列表 = 继承的项目.继承.待合并文件列表; } if (!是否保存) { int 随机值 = new Random().Next(1000, 9999); 载对象.DownIofo.文件保存路径 = 缓存路径 + "LiveCache/" + 载对象.DownIofo.标题 + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "_" + 随机值 + ".flv"; if (File.Exists(载对象.DownIofo.文件保存路径)) { 载对象.DownIofo.文件保存路径 = 缓存路径 + "LiveCache/" + 载对象.DownIofo.标题 + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "_" + (随机值) + 1 + ".flv"; } } 载对象.Start(备注); return(载对象); }
public static void 修改默认音量设置(int A) { 默认音量 = A; MMPU.setFiles("DefaultVolume", A.ToString()); }
public static Downloader 新建下载对象(string 平台, string 唯一码, string 标题, string GUID, string 载地址, string 备注, bool 是否保存, string 主播名称, bool 是否为继承项目, string 继承项目的原始文件) { Downloader 载对象 = new Downloader(); 载对象.DownIofo.继承 = new 继承(); string 缓存路径 = MMPU.缓存路径; string 保存路径; if (MMPU.载储存目录 == 缓存路径) { 保存路径 = 缓存路径 + 平台 + "_" + 主播名称 + "_" + 唯一码 + "/"; if (Directory.Exists(保存路径))//如果不存在就创建文件夹 { Directory.CreateDirectory(保存路径); } 保存路径 = 保存路径 + 标题 + "_" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".flv"; } else { 保存路径 = MMPU.载储存目录 + "/" + 平台 + "_" + 主播名称 + "_" + 唯一码 + "/"; if (!Directory.Exists(保存路径))//如果不存在就创建file文件夹 { try { Directory.CreateDirectory(保存路径); } catch (Exception) { MMPU.载储存目录 = 缓存路径; MMPU.setFiles("file", MMPU.载储存目录); 保存路径 = MMPU.载储存目录 + "/" + 平台 + "_" + 主播名称 + "_" + 唯一码 + "/"; } } 保存路径 = 保存路径 + 标题 + "_" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".flv"; if (File.Exists(保存路径)) { Thread.Sleep(1); 保存路径 = MMPU.载储存目录 + "/" + 平台 + "_" + 主播名称 + "_" + 唯一码 + "/" + 标题 + "_" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".flv"; } } switch (平台) { case "bilibili": { 载地址 = 载地址; break; } case "youtube": { break; } } 载对象.DownIofo = new Downloader.DownIofoData { 平台 = 平台, 房间_频道号 = 唯一码, 文件保存路径 = 保存路径, 事件GUID = GUID, 载地址 = 载地址, 是否保存 = 是否保存, 标题 = 标题, 备注 = 备注, 主播名称 = 主播名称, 继承 = new 继承() { 是否为继承对象 = 是否为继承项目, 继承的下载文件路径 = 继承项目的原始文件, } }; if (!是否保存) { int 随机值 = new Random().Next(1000, 9999); 载对象.DownIofo.文件保存路径 = 缓存路径 + "LiveCache/" + 载对象.DownIofo.标题 + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "_" + 随机值 + ".flv"; if (File.Exists(载对象.DownIofo.文件保存路径)) { 载对象.DownIofo.文件保存路径 = 缓存路径 + "LiveCache/" + 载对象.DownIofo.标题 + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "_" + (随机值) + 1 + ".flv"; } } MMPU.DownList.Add(载对象); 载对象.Start(备注); InfoLog.InfoPrintf(主播名称 + "开始直播,建立下载任务\n==============建立下载任务================\n主播名:" + 载对象.DownIofo.主播名称 + "\n房间号:" + 唯一码 + "\n标题:" + 标题 + "\n开播时间:" + MMPU.Unix转换为DateTime(载对象.DownIofo.开始时间.ToString()) + "\n保存路径:" + 载对象.DownIofo.文件保存路径 + "\n下载任务类型:" + (载对象.DownIofo.继承.是否为继承对象 ? "续下任务" : "新建下载任务") + "\n===============建立下载任务===============\n", InfoLog.InfoClass.载必要提示); return(载对象); }