using Common.system; using System; using System.Windows; using System.Windows.Media.Imaging; using XHWK.Model; namespace XHWK.WKTool { /// /// 录屏工具栏 /// public partial class ScreenRecordingToolbarWindow : Window { #region 初始变量 /// /// 视频存储路径 /// string RecordingPath; /// /// 视频保存名称 /// string VideoSavePathName; /// /// 是否首次录屏 /// bool IsFirstRS = true; /// /// 是否暂停 /// bool IsSuspend = true; #endregion #region 初始化 /// /// 录屏工具栏 /// public ScreenRecordingToolbarWindow() { InitializeComponent(); } /// /// 初始化 /// public void Initialize() { //隐藏画笔工具栏 BtnToolbarDown_Click(null, null); } #endregion #region 录制 /// /// 开始或暂停录制 /// /// /// private void BtnRecordingScreen_Click(object sender, RoutedEventArgs e) { if (IsSuspend) { if(IsFirstRS) { RecordingPath = APP.WKData.WkPath; //FileToolsCommon.DeleteDirectory(APP.WKData.WkPath + "temp/"); FileToolsCommon.CreateDirectory(RecordingPath); VideoSavePathName = RecordingPath + APP.WKData.WkName + "_录屏." + ((Enum_VideoType)int.Parse(FileToolsCommon.GetConfigValue("VideoType"))).ToString(); if (FileToolsCommon.IsExistFile(VideoSavePathName)) { MessageBoxResult dr = System.Windows.MessageBox.Show("已存在录屏是否覆盖?", "提示", MessageBoxButton.OKCancel); if (dr == MessageBoxResult.OK) { FileToolsCommon.DeleteFile(VideoSavePathName); } else { return; } } IsFirstRS = false; } IsSuspend = false; ImgRecordingScreen.Source = new BitmapImage(new Uri("pack://application:,,,/Images/Toobar25.png")); try { APP.FFmpeg.StartRecordingVideo(VideoSavePathName); } catch (Exception ex) { MessageBox.Show(ex.Message); } } else { IsSuspend = true; ImgRecordingScreen.Source = new BitmapImage(new Uri("pack://application:,,,/Images/Toobar25.png")); try { APP.FFmpeg.SuspendFFmpeg(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } /// /// 停止录像 /// /// /// private void BtnStopRecordingScreen_Click(object sender, RoutedEventArgs e) { if (APP.W_XHMicroLessonSystemWindow == null) { APP.W_XHMicroLessonSystemWindow = new XHMicroLessonSystemWindow(); } APP.W_XHMicroLessonSystemWindow.Show(); try { APP.FFmpeg.StopFFmpeg(VideoSavePathName); } catch (Exception ex) { MessageBox.Show(ex.Message); } IsFirstRS = true; Hide(); } #endregion #region 画笔相关 /// /// 画笔工具栏关闭事件 /// /// /// private void BtnToolbarDown_Click(object sender, RoutedEventArgs e) { gridToolbar.Visibility = Visibility.Hidden; gridColour.Visibility = Visibility.Hidden; gridThickness.Visibility = Visibility.Hidden; } /// /// 画笔点击事件 /// /// /// private void BtnBrush_Click(object sender, RoutedEventArgs e) { if (gridToolbar.Visibility == Visibility.Visible) { gridToolbar.Visibility = Visibility.Hidden; } else { gridToolbar.Visibility = Visibility.Visible; } } /// /// 画笔粗细事件 /// /// /// private void BtnThickness_Click(object sender, RoutedEventArgs e) { gridThickness.Visibility = Visibility.Visible; gridColour.Visibility = Visibility.Collapsed; } /// /// 画笔颜色事件 /// /// /// private void BtnColour_Click(object sender, RoutedEventArgs e) { gridColour.Visibility = Visibility.Visible; gridThickness.Visibility = Visibility.Collapsed; } #endregion } }