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
}
}