Merge branch 'dev' of http://8.153.108.90:3000/YD/Wpf_AiSportsMicrospace into dev
This commit is contained in:
commit
8c6c30db63
@ -56,7 +56,7 @@ namespace Wpf_AiSportsMicrospace.Common
|
||||
{
|
||||
try
|
||||
{
|
||||
_webcamClient = WebcamClient.CreateRTSP("172.17.30.64", "admin", "yd708090", 554u);
|
||||
_webcamClient = WebcamClient.CreateRTSP("172.17.30.65", "admin", "yd708090", 554u);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
DisplayMemberPath="Name"
|
||||
SelectedValuePath="Key"
|
||||
SelectionChanged="sportList_SelectionChanged" d:IsHidden="True"/>
|
||||
<TextBox x:Name="host" Margin="0,10,0,0" Text="192.168.3.64"/>
|
||||
<TextBox x:Name="host" Margin="0,10,0,0" Text="172.17.30.65"/>
|
||||
<TextBox x:Name="userName" Margin="0,10,0,0" Text="admin"/>
|
||||
<TextBox x:Name="password" Margin="0,10,0,0" Text="yd708090"/>
|
||||
<TextBox x:Name="port" Margin="0,10,0,0" Text="554"/>
|
||||
|
||||
@ -19,11 +19,11 @@
|
||||
/>
|
||||
<Grid Height="1080" Width="1920" x:Name="userBox"/>
|
||||
|
||||
<Grid Width="220" Height="130" VerticalAlignment="Top" HorizontalAlignment="Right" Margin="00,40,60,0" Visibility="Hidden" x:Name="countdownGrid">
|
||||
<Grid Width="180" Height="90" VerticalAlignment="Top" HorizontalAlignment="Right" Margin="00,20,40,0" Visibility="Hidden" x:Name="countdownGrid">
|
||||
<Border Background="#005fff" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" CornerRadius="30" />
|
||||
<TextBlock x:Name="countdownText"
|
||||
Text="60"
|
||||
FontSize="120"
|
||||
FontSize="80"
|
||||
FontWeight="Bold"
|
||||
Foreground="#fff"
|
||||
FontStyle="Italic"
|
||||
|
||||
@ -170,6 +170,17 @@ namespace Wpf_AiSportsMicrospace.Views
|
||||
switch (_currentGameState)
|
||||
{
|
||||
case GameState.NotStarted: // 未开始
|
||||
int leftWaving = DetectLeftHandRaise(humans);
|
||||
if (leftWaving == 5)
|
||||
{
|
||||
_mainWin.HumanFrameUpdated -= OnHumanFrameUpdated;
|
||||
_mainWin.WebcamClient.StopExtract();
|
||||
|
||||
// 举左手逻辑,例如结束动画或退出
|
||||
var newPage = new Home();
|
||||
_mainWin?.SwitchPageWithMaskAnimation(newPage, true);
|
||||
}
|
||||
else {
|
||||
int rightWaving = DetectRightHandRaise(humans);
|
||||
if (rightWaving >= 3)
|
||||
{
|
||||
@ -187,6 +198,7 @@ namespace Wpf_AiSportsMicrospace.Views
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case GameState.Running: // 游戏进行中
|
||||
@ -196,18 +208,18 @@ namespace Wpf_AiSportsMicrospace.Views
|
||||
// if (CheckGameFinished()) _currentGameState = GameState.Finished;
|
||||
break;
|
||||
|
||||
case GameState.Finished: // 游戏完成
|
||||
int leftWaving = DetectLeftHandRaise(humans);
|
||||
if (leftWaving == 5)
|
||||
{
|
||||
_mainWin.HumanFrameUpdated -= OnHumanFrameUpdated;
|
||||
_mainWin.WebcamClient.StopExtract();
|
||||
//case GameState.Finished: // 游戏完成
|
||||
// int leftWaving = DetectLeftHandRaise(humans);
|
||||
// if (leftWaving == 5)
|
||||
// {
|
||||
// _mainWin.HumanFrameUpdated -= OnHumanFrameUpdated;
|
||||
// _mainWin.WebcamClient.StopExtract();
|
||||
|
||||
// 举左手逻辑,例如结束动画或退出
|
||||
var newPage = new Home();
|
||||
_mainWin?.SwitchPageWithMaskAnimation(newPage, true);
|
||||
}
|
||||
break;
|
||||
// // 举左手逻辑,例如结束动画或退出
|
||||
// var newPage = new Home();
|
||||
// _mainWin?.SwitchPageWithMaskAnimation(newPage, true);
|
||||
// }
|
||||
// break;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
@ -283,7 +295,7 @@ namespace Wpf_AiSportsMicrospace.Views
|
||||
ShowRankingBoard(RankingItemList);
|
||||
Utils.StopBackgroundMusic();
|
||||
|
||||
_currentGameState = GameState.Finished;
|
||||
_currentGameState = GameState.NotStarted;
|
||||
_mainWin.HumanFrameUpdated += OnHumanFrameUpdated;
|
||||
_mainWin.WebcamClient.StartExtract();
|
||||
}
|
||||
|
||||
@ -43,7 +43,7 @@ namespace Wpf_AiSportsMicrospace.Views.JumpRope
|
||||
|
||||
|
||||
// 容忍时间(节拍误差)
|
||||
public double _beatTolerance = 0.15; // ±150ms
|
||||
public double _beatTolerance = 0.2; // ±150ms
|
||||
private int _totalDots = 0;
|
||||
// 滚动显示的节拍点集合
|
||||
public ObservableCollection<BeatItem> BeatDisplayLeft { get; set; } = new();
|
||||
@ -171,6 +171,18 @@ namespace Wpf_AiSportsMicrospace.Views.JumpRope
|
||||
switch (_currentGameState)
|
||||
{
|
||||
case GameState.NotStarted: // 未开始
|
||||
int leftWaving = DetectLeftHandRaise(humans);
|
||||
if (leftWaving == 5)
|
||||
{
|
||||
_mainWin.HumanFrameUpdated -= OnHumanFrameUpdated;
|
||||
_mainWin.WebcamClient.StopExtract();
|
||||
|
||||
// 举左手逻辑,例如结束动画或退出
|
||||
var newPage = new Home();
|
||||
_mainWin?.SwitchPageWithMaskAnimation(newPage, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
int rightWaving = DetectRightHandRaise(humans);
|
||||
if (rightWaving >= 3)
|
||||
{
|
||||
@ -188,6 +200,7 @@ namespace Wpf_AiSportsMicrospace.Views.JumpRope
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case GameState.Running: // 游戏进行中
|
||||
@ -197,18 +210,18 @@ namespace Wpf_AiSportsMicrospace.Views.JumpRope
|
||||
// if (CheckGameFinished()) _currentGameState = GameState.Finished;
|
||||
break;
|
||||
|
||||
case GameState.Finished: // 游戏完成
|
||||
int leftWaving = DetectLeftHandRaise(humans);
|
||||
if (leftWaving == 5)
|
||||
{
|
||||
_mainWin.HumanFrameUpdated -= OnHumanFrameUpdated;
|
||||
_mainWin.WebcamClient.StopExtract();
|
||||
//case GameState.Finished: // 游戏完成
|
||||
// int leftWaving = DetectLeftHandRaise(humans);
|
||||
// if (leftWaving == 5)
|
||||
// {
|
||||
// _mainWin.HumanFrameUpdated -= OnHumanFrameUpdated;
|
||||
// _mainWin.WebcamClient.StopExtract();
|
||||
|
||||
// 举左手逻辑,例如结束动画或退出
|
||||
var newPage = new Home();
|
||||
_mainWin?.SwitchPageWithMaskAnimation(newPage, true);
|
||||
}
|
||||
break;
|
||||
// // 举左手逻辑,例如结束动画或退出
|
||||
// var newPage = new Home();
|
||||
// _mainWin?.SwitchPageWithMaskAnimation(newPage, true);
|
||||
// }
|
||||
// break;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
@ -288,7 +301,7 @@ namespace Wpf_AiSportsMicrospace.Views.JumpRope
|
||||
|
||||
|
||||
// 更新游戏状态
|
||||
_currentGameState = GameState.Finished;
|
||||
_currentGameState = GameState.NotStarted;
|
||||
|
||||
// 恢复视频流
|
||||
Application.Current.Dispatcher.Invoke(() =>
|
||||
|
||||
@ -5,6 +5,7 @@
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:local="clr-namespace:Wpf_AiSportsMicrospace.Views"
|
||||
xmlns:gif="http://wpfanimatedgif.codeplex.com"
|
||||
WindowStyle="None"
|
||||
mc:Ignorable="d" WindowState="Maximized">
|
||||
<Grid>
|
||||
<!-- 过渡容器 -->
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user