/// <summary> /// 停止录屏 /// </summary> /// <returns></returns> public static ScreenRecorderResult StopRecording(Window windowOwner = null) { int checkCount = 0; string recordFilePath = GetRecordFilePath(); while (true) { if (checkCount > 10) { break; } if (AppUtils.GetFileSizeSafe(recordFilePath) < 2048) { Thread.Sleep(200); checkCount++; } else { break; } } ScreenRecorderResult ret = _screenRecorder.StopRecord(); string microName = string.Empty; if (!string.IsNullOrWhiteSpace(recordFilePath)) { string tempFileName = System.IO.Path.GetFileName(recordFilePath); microName = Path.GetFileNameWithoutExtension(tempFileName); } bool needSaveWindow = false; if (needSaveWindow) { RecordSaveWin win = new RecordSaveWin(); if (windowOwner != null) { win.Owner = windowOwner; } win.SaveFileNameTbox.Text = microName; win.ShowDialog(); win.SaveRecordAndDeleteFile(); } else { RecordSaveWin.SaveRecordAndDeleteFile(microName); } InvokeRecordStateChanged(RecordStatus.RecordComplete); _recordingToolWin?.Close(); _recordingToolWin = null; EmptyRecordFilePath(); return(ret); }
public void PauseAndResumeRecording() { if (!RecorderHelper.IsRecording()) { return; } if (RecorderHelper.IsPausing()) { // 更换暂停按钮图标 PauseBtn.IsRecording = true; ScreenRecorderResult ret = RecorderHelper.ResumeRecording(); if (ret != ScreenRecorderResult.Success) { //MessageBox.Show(""); } //_fileSizeQueryCount = 0; _countDownTimer_Elapsed(null, null); StartCountDownTimer(); } else { // 更换暂停按钮图标 PauseBtn.IsRecording = false; ScreenRecorderResult ret = RecorderHelper.PauseRecording(); if (ret != ScreenRecorderResult.Success) { //MessageBox.Show(""); } StopCountDownTimer(); } }
/// <summary> /// 恢复录屏 /// </summary> /// <returns></returns> public static ScreenRecorderResult ResumeRecording() { ScreenRecorderResult ret = _screenRecorder.ResumeRecord(); InvokeRecordStateChanged(RecordStatus.Recording); return(ret); }
/// <summary> /// 开始录屏 /// </summary> /// <returns></returns> public static ScreenRecorderResult StartRecording() { ScreenRecorderResult ret = _screenRecorder.StartRecord(_recorderSetting); InvokeRecordStateChanged(RecordStatus.Recording); return(ret); }
/// <summary> /// 初始化 /// </summary> public static void InitializeRecorder() { ScreenRecorderResult ret = _screenRecorder.InitializeRecord(); if (ret != ScreenRecorderResult.Success) { MessageBox.Show("初始化失败, 错误信息:" + ret, "错误", MessageBoxButton.OK, MessageBoxImage.Error); IsInitializedError = true; return; } ret = _screenRecorder.SetLicense(); if (ret != ScreenRecorderResult.Success) { MessageBox.Show("设置许可证失败,错误信息:" + ret, "错误", MessageBoxButton.OK, MessageBoxImage.Error); IsInitializedError = true; return; } IsInitialized = true; ConfigureRecordSetting(); }