Ejemplo n.º 1
0
        /// <summary>
        /// 下载函数
        /// </summary>
        private void DownloadLive()
        {
            StartTime       = DateTime.Now;
            videoDownloader = new LiveVideoDownloader(liveInfo.LiveVideoLink, StartTime, userInfo.Name);
            videoDownloader.DownloadCompleted += VideoDownloader_DownloadCompleted;
            string OutFileName = videoDownloader.Start();

            RecordOtherPK();
            FileStream danmuStream = new FileStream(OutFileName + ".xml", FileMode.Append);

            danmuStream.Write(Encoding.UTF8.GetBytes(XMLHeader), 0, XMLHeader.Length);
            danmuStream.Dispose();
            danmuStream.Close();
            DanMuDownloader(OutFileName);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// 尝试录制对端PK画面
 /// </summary>
 private void RecordOtherPK()
 {
     // PK对端仍在录制, 本端重试不重录对端
     if (PKDownloader == null || PKDownloader.IsDownloading == false)
     {
         // 获取PK编号
         string PK_ID = GetPKID(liveInfo.RoomID);
         // 若当前直播间正在PK则对端一并录制
         if (PK_ID != string.Empty)
         {
             // 获取PK对端数据
             PKInfo pKInfo    = GetPKMatch(PK_ID);
             string PKLiveURL = GetDownloadLink(pKInfo.RoomID);
             if (PKLiveURL != null)
             {
                 PKDownloader = new LiveVideoDownloader(PKLiveURL, StartTime, pKInfo.Name + "【PK双录】");
                 PKDownloader.DownloadCompleted += PKDownloader_DownloadCompleted;
                 PKDownloader.Start();
             }
         }
     }
 }