在为 Kinect 记录位置时,我试图让秒表开始和停止:
//process x and y coordinates
public void calculateJoints(Skeleton skeleton)
{
Joint rightHand = skeleton.Joints[JointType.HandRight];
Joint leftHand = skeleton.Joints[JointType.HandRight];
rightX = rightHand.Position.X;
rightY = rightHand.Position.Y;
}
//start the stopwatch (tried to use a greater time between positions 1 and 5 vs 1 and 2
public void processJointsAndRepeat(Skeleton skeleton)
{
startTime();
while (numPositions < 5)
{
calculateJoints(skeleton);
numPositions++;
}
stopTime();
double tempTime = calculateTimeElapsed();
}
//calculate time in milliseconds
private double calculateTimeElapsed()
{
long milliseconds = stopWatch.ElapsedMilliseconds;
return (double)milliseconds;
}
但是,每当我尝试输入 x、y 和 time 值时,以 time 为键,它都会引发重复键的错误。当我检索 tempTime 的值时,它只显示 0。
这是我的代码的问题,还是我需要更精确的秒表?
我意识到花时间玩 30 fps 的东西很困难,所以如果您有任何其他建议,那就太好了!我基本上只是想计算点之间的平均速度来调整音频文件的播放速度。谢谢!