public override void Handle(SocketSession session, ePacketType reqType, object reqObj) { if (reqType == ePacketType.PACKET_START_CAPTURE_VIDEO_REQUEST) { // 开始捕获 var req = reqObj as RequestStartCaptureVideo; if (_request == null) { // 第一次发送启动监控请求,则创建监控线程 _request = req; _isRunning = true; RunTaskThread(StartCapture, session); } else { // 非第一次发送启动监控请求,则修改相关参数 _request.Fps = req.Fps; } } else if (reqType == ePacketType.PACKET_STOP_CAPTURE_VIDEO_REQUEST) { // 停止捕获 _isRunning = false; _request = null; } }
private void toolStripButton2_Click(object sender, EventArgs e) { ToolStripButton button = sender as ToolStripButton; button.Checked = !button.Checked; if (button.Checked) { this.toolStripSplitButton2.Enabled = false; RequestStartCaptureVideo req = new RequestStartCaptureVideo(); req.Fps = _fps; oSession.Send(ePacketType.PACKET_START_CAPTURE_VIDEO_REQUEST, req); } else { this.toolStripSplitButton2.Enabled = true; oSession.Send(ePacketType.PACKET_STOP_CAPTURE_VIDEO_REQUEST, null); } }