Browse Source

开启摄像头的时候进行设备检测问题处理

master
张剑 1 year ago
parent
commit
56e5089d0d

+ 2
- 2
XHWK.WKTool/App.config View File

9
     <!--参数是否加密 0不加密 1加密-->
9
     <!--参数是否加密 0不加密 1加密-->
10
     <add key="IsParameterEncryption" value="0" />
10
     <add key="IsParameterEncryption" value="0" />
11
     <!--版本号-->
11
     <!--版本号-->
12
-    <add key="VersionCode" value="121" />
13
-    <add key="VersionName" value="3.9.4" />
12
+    <add key="VersionCode" value="122" />
13
+    <add key="VersionName" value="3.9.5" />
14
     <!--皮肤样式 0白 1蓝 2黑色 -->
14
     <!--皮肤样式 0白 1蓝 2黑色 -->
15
     <add key="SkinStyle" value="0" />
15
     <add key="SkinStyle" value="0" />
16
     <!--是否输出视频记录日志:0否-->
16
     <!--是否输出视频记录日志:0否-->

+ 2
- 0
XHWK.WKTool/App.xaml.cs View File

15
 
15
 
16
 namespace XHWK.WKTool
16
 namespace XHWK.WKTool
17
 {
17
 {
18
+    using system;
19
+
18
     public partial class App
20
     public partial class App
19
     {
21
     {
20
         #region 全局变量
22
         #region 全局变量

+ 22
- 11
XHWK.WKTool/MainWindow.xaml View File

293
                                     </Grid>
293
                                     </Grid>
294
                                     <ControlTemplate.Triggers>
294
                                     <ControlTemplate.Triggers>
295
                                         <Trigger Property="IsMouseOver" Value="True">
295
                                         <Trigger Property="IsMouseOver" Value="True">
296
-                                            <Setter TargetName="ImgSetUp" Property="Source" Value="/SkinImages/TechnologyBlue/HM_Close_MI.png" />
296
+                                            <Setter TargetName="ImgSetUp" Property="Source"
297
+                                                    Value="/SkinImages/TechnologyBlue/HM_Close_MI.png" />
297
                                             <Setter TargetName="Word" Property="Foreground" Value="#FFFFFFFF" />
298
                                             <Setter TargetName="Word" Property="Foreground" Value="#FFFFFFFF" />
298
                                         </Trigger>
299
                                         </Trigger>
299
                                     </ControlTemplate.Triggers>
300
                                     </ControlTemplate.Triggers>
495
                                         </Grid>
496
                                         </Grid>
496
                                         <ControlTemplate.Triggers>
497
                                         <ControlTemplate.Triggers>
497
                                             <Trigger Property="IsMouseOver" Value="True">
498
                                             <Trigger Property="IsMouseOver" Value="True">
498
-                                                <Setter TargetName="ImgScreenRecording" Property="Source" Value="/SkinImages/White/Toolbar_LP_MI.png" />
499
+                                                <Setter TargetName="ImgScreenRecording" Property="Source"
500
+                                                        Value="/SkinImages/White/Toolbar_LP_MI.png" />
499
                                             </Trigger>
501
                                             </Trigger>
500
                                             <Trigger Property="IsPressed" Value="True">
502
                                             <Trigger Property="IsPressed" Value="True">
501
-                                                <Setter TargetName="ImgScreenRecording" Property="Source" Value="/SkinImages/White/Toolbar_LP_CL.png" />
502
-                                                <Setter TargetName="WordScreenRecording" Property="Foreground" Value="#FFFFFFFF" />
503
+                                                <Setter TargetName="ImgScreenRecording" Property="Source"
504
+                                                        Value="/SkinImages/White/Toolbar_LP_CL.png" />
505
+                                                <Setter TargetName="WordScreenRecording" Property="Foreground"
506
+                                                        Value="#FFFFFFFF" />
503
                                             </Trigger>
507
                                             </Trigger>
504
                                             <Trigger Property="IsEnabled" Value="False">
508
                                             <Trigger Property="IsEnabled" Value="False">
505
-                                                <Setter TargetName="ImgScreenRecording" Property="Source" Value="/SkinImages/White/Toolbar_LP_N.png" />
506
-                                                <Setter TargetName="WordScreenRecording" Property="Foreground" Value="#FFC3C3C3" />
509
+                                                <Setter TargetName="ImgScreenRecording" Property="Source"
510
+                                                        Value="/SkinImages/White/Toolbar_LP_N.png" />
511
+                                                <Setter TargetName="WordScreenRecording" Property="Foreground"
512
+                                                        Value="#FFC3C3C3" />
507
                                             </Trigger>
513
                                             </Trigger>
508
                                         </ControlTemplate.Triggers>
514
                                         </ControlTemplate.Triggers>
509
                                     </ControlTemplate>
515
                                     </ControlTemplate>
658
                                                 VerticalAlignment="Top"
664
                                                 VerticalAlignment="Top"
659
                                                 Visibility="Visible" />
665
                                                 Visibility="Visible" />
660
                                             <!--  导入图片  -->
666
                                             <!--  导入图片  -->
661
-                                            <!--<Button Cursor="Hand" x:Name="btnOk" Height="50" Width="50" Content="√" FontSize="26" Background="#3f6fff" Foreground="#FFFFFF" Click="btnOk_Click" Visibility="Collapsed" />-->
667
+
662
                                             <InkCanvas
668
                                             <InkCanvas
663
                                                 x:Name="BlackboardCanvas"
669
                                                 x:Name="BlackboardCanvas"
664
                                                 Grid.Row="0"
670
                                                 Grid.Row="0"
940
                                     Style="{StaticResource RadBase}" />
946
                                     Style="{StaticResource RadBase}" />
941
                             </StackPanel>
947
                             </StackPanel>
942
                             <StackPanel
948
                             <StackPanel
949
+                                Name="SheXiangTouSp"
943
                                 Grid.Column="2"
950
                                 Grid.Column="2"
944
                                 Margin="5"
951
                                 Margin="5"
945
                                 HorizontalAlignment="Right"
952
                                 HorizontalAlignment="Right"
1033
                                                 <Button.Template>
1040
                                                 <Button.Template>
1034
                                                     <ControlTemplate TargetType="{x:Type Button}">
1041
                                                     <ControlTemplate TargetType="{x:Type Button}">
1035
                                                         <StackPanel>
1042
                                                         <StackPanel>
1036
-                                                            <Image x:Name="ImgRecord" Source="/SkinImages/Skin/Skin_White.png" />
1043
+                                                            <Image x:Name="ImgRecord"
1044
+                                                                   Source="/SkinImages/Skin/Skin_White.png" />
1037
                                                         </StackPanel>
1045
                                                         </StackPanel>
1038
                                                         <ControlTemplate.Triggers>
1046
                                                         <ControlTemplate.Triggers>
1039
                                                             <Trigger Property="IsMouseOver" Value="True">
1047
                                                             <Trigger Property="IsMouseOver" Value="True">
1040
-                                                                <Setter TargetName="ImgRecord" Property="Source" Value="/SkinImages/Skin/Skin_White_MI.png" />
1048
+                                                                <Setter TargetName="ImgRecord" Property="Source"
1049
+                                                                        Value="/SkinImages/Skin/Skin_White_MI.png" />
1041
                                                             </Trigger>
1050
                                                             </Trigger>
1042
                                                         </ControlTemplate.Triggers>
1051
                                                         </ControlTemplate.Triggers>
1043
                                                     </ControlTemplate>
1052
                                                     </ControlTemplate>
1063
                                                 <Button.Template>
1072
                                                 <Button.Template>
1064
                                                     <ControlTemplate TargetType="{x:Type Button}">
1073
                                                     <ControlTemplate TargetType="{x:Type Button}">
1065
                                                         <StackPanel>
1074
                                                         <StackPanel>
1066
-                                                            <Image x:Name="ImgRecord" Source="/SkinImages/Skin/Skin_TechnologyBlue.png" />
1075
+                                                            <Image x:Name="ImgRecord"
1076
+                                                                   Source="/SkinImages/Skin/Skin_TechnologyBlue.png" />
1067
                                                         </StackPanel>
1077
                                                         </StackPanel>
1068
                                                         <ControlTemplate.Triggers>
1078
                                                         <ControlTemplate.Triggers>
1069
                                                             <Trigger Property="IsMouseOver" Value="True">
1079
                                                             <Trigger Property="IsMouseOver" Value="True">
1070
-                                                                <Setter TargetName="ImgRecord" Property="Source" Value="/SkinImages/Skin/Skin_TechnologyBlue_MI.png" />
1080
+                                                                <Setter TargetName="ImgRecord" Property="Source"
1081
+                                                                        Value="/SkinImages/Skin/Skin_TechnologyBlue_MI.png" />
1071
                                                             </Trigger>
1082
                                                             </Trigger>
1072
                                                         </ControlTemplate.Triggers>
1083
                                                         </ControlTemplate.Triggers>
1073
                                                     </ControlTemplate>
1084
                                                     </ControlTemplate>

+ 9
- 39
XHWK.WKTool/MainWindow.xaml.cs View File

925
 
925
 
926
         private bool _isRbnOpen;
926
         private bool _isRbnOpen;
927
 
927
 
928
-        private System.Timers.Timer _times;
929
-
930
         /// <summary>
928
         /// <summary>
931
         /// 摄像头打开事件
929
         /// 摄像头打开事件
932
         /// </summary>
930
         /// </summary>
973
                     }
971
                     }
974
                     CameraHelper.imageCallback = LoadImage;
972
                     CameraHelper.imageCallback = LoadImage;
975
                     CameraHelper.StartCameraDevice(cameraIndex, this.Dispatcher);
973
                     CameraHelper.StartCameraDevice(cameraIndex, this.Dispatcher);
976
-                    if (_timer != null)
977
-                    {
978
-                        _times.Elapsed -= Times_Elapsed;
979
-                        _times.Enabled = false;
980
-                        _times.Dispose();
981
-                    }
982
-                    _times = new System.Timers.Timer(200) //初始值为300
983
-                    {
984
-                        AutoReset = true //设置是否执行System.Timers.Timer.Elapsed事件
985
-                    }; //设置执行一次(false)还是一直执行(true)
986
-                    _times.Elapsed += Times_Elapsed;
987
-                    _times.Enabled = true; //启动计时器
988
                     _isRbnOpen = true;
974
                     _isRbnOpen = true;
989
                     string imgPath = FileToolsCommon.GetFileAbsolutePath("Temp/imgplayer");
975
                     string imgPath = FileToolsCommon.GetFileAbsolutePath("Temp/imgplayer");
990
                     FileToolsCommon.CreateDirectory(imgPath);
976
                     FileToolsCommon.CreateDirectory(imgPath);
1062
                 RbnOpen.IsEnabled = false;
1048
                 RbnOpen.IsEnabled = false;
1063
                 CameraHelper.CloseDevice();
1049
                 CameraHelper.CloseDevice();
1064
                 RbnOpen.IsEnabled = true;
1050
                 RbnOpen.IsEnabled = true;
1065
-                if (_timer != null)
1066
-                {
1067
-                    _times.Elapsed -= Times_Elapsed;
1068
-                    _times.Enabled = false;
1069
-                    _times.Dispose();
1070
-                    _times = null;
1071
-                }
1072
-            }
1073
-        }
1074
-
1075
-        private void Times_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
1076
-        {
1077
-            if (_isRbnOpen)
1078
-            {
1079
-                try
1080
-                {
1081
-                    long time = Timestamp();
1082
-                    string imgPath = FileToolsCommon.GetFileAbsolutePath("Temp/imgplayer");
1083
-                    CameraHelper.CaptureImage(imgPath, time.ToString());
1084
-                }
1085
-                catch (Exception ex)
1086
-                {
1087
-                    LogHelper.WriteErrLog("【摄像】(Times_Elapsed)生成图片错误:" + ex.Message, ex);
1088
-                }
1089
             }
1051
             }
1090
         }
1052
         }
1091
 
1053
 
1102
         /// </param>
1064
         /// </param>
1103
         private async void BtnDevice_Click(object sender, RoutedEventArgs e)
1065
         private async void BtnDevice_Click(object sender, RoutedEventArgs e)
1104
         {
1066
         {
1105
-            if (RbnTurnOff.IsChecked != null && !(bool)RbnTurnOff.IsChecked)
1067
+            if (_isRbnOpen)
1106
             {
1068
             {
1107
                 RbnTurnOff.IsChecked = true;
1069
                 RbnTurnOff.IsChecked = true;
1108
                 RbnTurnOff_Click(null, null);
1070
                 RbnTurnOff_Click(null, null);
2619
                     App.W_CountdownWindow = new CountdownWindow();
2581
                     App.W_CountdownWindow = new CountdownWindow();
2620
                 }
2582
                 }
2621
                 App.W_CountdownWindow.InitAndShow();
2583
                 App.W_CountdownWindow.InitAndShow();
2584
+                _recordType = 3;
2585
+                RecordBtnStatus();
2622
 
2586
 
2623
                 #endregion 录像倒计时
2587
                 #endregion 录像倒计时
2624
 
2588
 
2645
                 BtnScreenRecording.IsEnabled = true;
2609
                 BtnScreenRecording.IsEnabled = true;
2646
                 BtnRecord.IsEnabled = true;
2610
                 BtnRecord.IsEnabled = true;
2647
                 BtnStop.IsEnabled = false;
2611
                 BtnStop.IsEnabled = false;
2612
+                SheXiangTouSp.Visibility = Visibility.Visible;
2648
             }
2613
             }
2649
             else if (_recordType == 1)
2614
             else if (_recordType == 1)
2650
             {
2615
             {
2652
                 TxbType.Text = "录制中";
2617
                 TxbType.Text = "录制中";
2653
                 BtnRecord.Visibility = Visibility.Collapsed;
2618
                 BtnRecord.Visibility = Visibility.Collapsed;
2654
                 BtnRecordSuspend.Visibility = Visibility.Visible;
2619
                 BtnRecordSuspend.Visibility = Visibility.Visible;
2620
+                SheXiangTouSp.Visibility = Visibility.Hidden;
2655
             }
2621
             }
2656
             else if (_recordType == 2)
2622
             else if (_recordType == 2)
2657
             {
2623
             {
2659
                 TxbType.Text = "暂停中";
2625
                 TxbType.Text = "暂停中";
2660
                 BtnRecord.Visibility = Visibility.Visible;
2626
                 BtnRecord.Visibility = Visibility.Visible;
2661
                 BtnRecordSuspend.Visibility = Visibility.Collapsed;
2627
                 BtnRecordSuspend.Visibility = Visibility.Collapsed;
2628
+                SheXiangTouSp.Visibility = Visibility.Hidden;
2662
             }
2629
             }
2663
             else if (_recordType == 3)
2630
             else if (_recordType == 3)
2664
             {
2631
             {
2665
                 TxbType.Text = "倒计时";
2632
                 TxbType.Text = "倒计时";
2633
+                SheXiangTouSp.Visibility = Visibility.Hidden;
2666
             }
2634
             }
2667
             else if (_recordType == 4)
2635
             else if (_recordType == 4)
2668
             {
2636
             {
2669
                 TxbType.Text = "合并中";
2637
                 TxbType.Text = "合并中";
2670
                 StartPauseGrid.Visibility = Visibility.Hidden;
2638
                 StartPauseGrid.Visibility = Visibility.Hidden;
2671
                 BtnScreenRecording.IsEnabled = false;
2639
                 BtnScreenRecording.IsEnabled = false;
2640
+                SheXiangTouSp.Visibility = Visibility.Hidden;
2672
             }
2641
             }
2673
         }
2642
         }
2674
 
2643
 
2745
             BtnScreenRecording.IsEnabled = false;
2714
             BtnScreenRecording.IsEnabled = false;
2746
             _timer.Change(-1, 0);
2715
             _timer.Change(-1, 0);
2747
             _timer.Dispose();
2716
             _timer.Dispose();
2717
+            _timer = null;
2748
             TxbTime.Text = "00:00";
2718
             TxbTime.Text = "00:00";
2749
             TxbType.Text = "保存中";
2719
             TxbType.Text = "保存中";
2750
             _recordType = 4;
2720
             _recordType = 4;

+ 211
- 1067
XHWK.WKTool/system/FFMpeg.cs
File diff suppressed because it is too large
View File


+ 1
- 1
星火微课/星火微课-测试.iss View File

3
 
3
 
4
 #define MyAppName "星火微课测试版"  
4
 #define MyAppName "星火微课测试版"  
5
 #define MyAppDir "xhwk_test"
5
 #define MyAppDir "xhwk_test"
6
-#define MyAppVersion "3.9.4"
6
+#define MyAppVersion "3.9.5"
7
 #define MyAppPublisher "河南星火燎原软件科技有限公司"
7
 #define MyAppPublisher "河南星火燎原软件科技有限公司"
8
 #define MyAppURL "http://www.xhkjedu.com/"
8
 #define MyAppURL "http://www.xhkjedu.com/"
9
 #define MySourcePath "D:\Project\CSharp\xh-wkclient\XHWK.WKTool\bin\x86\Debug\"
9
 #define MySourcePath "D:\Project\CSharp\xh-wkclient\XHWK.WKTool\bin\x86\Debug\"

Loading…
Cancel
Save