private void CommentProvider_OnReceivedComment(object sender, ReceivedCommentArgs e) { //接收到弹幕时的处理。 if (e.Comment.MsgType != MsgTypeEnum.LiveStart) { if (e.Comment.MsgType != MsgTypeEnum.LiveEnd) { return; } _mw.AppendLogln("INFO", "[主播结束直播]"); _flvDownloader?.Stop(); if (!_autoStart) { Stop(); } else { _mw.Dispatcher.Invoke(() => { _mw.LiveStatus.Content = "未直播"; }); } } else { _mw.AppendLogln("INFO", "[主播开始直播]"); if (!_autoStart || _flvDownloader.IsDownloading) { return; } _flvDownloader.Start(); _mw.Dispatcher.Invoke(() => { _mw.LiveStatus.Content = "正在直播"; }); } }
private void CommentProvider_OnReceivedComment(object sender, ReceivedCommentArgs e) { try { //DEBUG: 弹幕显示测试 //InfoLogger.SendInfo(_roomid, "收到弹幕", e.Comment.CommentUser + ": " + e.Comment.CommentText); //接收到弹幕时的处理。 if (e.Comment.MsgType != MsgTypeEnum.LiveStart) { if (e.Comment.MsgType != MsgTypeEnum.LiveEnd) { return; } InfoLogger.SendInfo(Roomid, "INFO", "[主播结束直播]"); Stop(); } else { InfoLogger.SendInfo(Roomid, "INFO", "[主播开始直播]"); //重新开始下载直播 force_stoping = true; Stop(); Start(); } } catch (Exception ex) { InfoLogger.SendInfo(Roomid, "ERROR", "在收取弹幕时发生未知错误:" + ex.Message); } }
private async void CommentProvider_OnReceivedComment(object sender, ReceivedCommentArgs e) { //接收到弹幕时的处理。 if (e.Comment.MsgType != MsgTypeEnum.LiveStart) { if (e.Comment.MsgType != MsgTypeEnum.LiveEnd) { return; } _mw.AppendLogln("INFO", "[主播结束直播]"); _flvDownloader?.Stop(); if (!_autoStart) { Stop(); } else { _mw.Dispatcher.Invoke(() => { _mw.LiveStatus.Content = "未直播"; }); } } else { _mw.AppendLogln("INFO", "[主播开始直播]"); if (!_autoStart || _flvDownloader.IsDownloading) { return; } //准备查找下载地址 var pathFinder = new PathFinder(_mw); //查找真实下载地址 try { if (_flvRunning) { return; } _flvRunning = true; _flvUrl = await pathFinder.GetTrueUrl(_roomid); _flvRunning = false; } catch { _mw.AppendLogln("ERROR", "未取得下载地址"); Stop(); return; //停止并退出 } _mw.AppendLogln("INFO", "下载地址已更新。"); _flvDownloader.Start(_flvUrl); CheckStreaming(); } }
private void _cmtProvider_OnReceivedComment(object sender, ReceivedCommentArgs e) { _cmtQueue.Enqueue(e.Comment); }
private async void CommentProvider_OnReceivedComment(object sender, ReceivedCommentArgs e) { try { //DEBUG: 弹幕显示测试 _mw.AppendLogln("收到弹幕", e.Comment.CommentUser + ": " + e.Comment.CommentText); //接收到弹幕时的处理。 if (e.Comment.MsgType != MsgTypeEnum.LiveStart) { if (e.Comment.MsgType != MsgTypeEnum.LiveEnd) { return; } _mw.AppendLogln("INFO", "[主播结束直播]"); _flvDownloader?.Stop(); if (!_autoStart) { Stop(); } else { _mw.Dispatcher.Invoke(() => { _mw.LiveStatus.Content = "未直播"; }); } } else { _mw.AppendLogln("INFO", "[主播开始直播]"); if (!_autoStart || _flvDownloader.IsDownloading) { return; } //准备查找下载地址 var pathFinder = new PathFinder(_mw); //查找真实下载地址 try { if (_flvRunning) { return; } _flvRunning = true; _flvUrl = await pathFinder.GetTrueUrl(_roomid); _flvRunning = false; } catch { _mw.AppendLogln("ERROR", "未取得下载地址"); Stop(); return; //停止并退出 } _mw.AppendLogln("INFO", "下载地址已更新。"); try { _flvDownloader.Start(_flvUrl); } catch (Exception exception) { _mw.AppendLogln("ERROR", "下载视频流时出错:" + exception.Message); Stop(); } CheckStreaming(); } }catch (Exception ex) { _mw.AppendLogln("ERROR", "在收取弹幕时发生未知错误:" + ex.Message); Stop(); } }