我在將使用Kinect V1類的代碼轉換爲Kinect V2類時調試了很多錯誤。正如this所述,有一些變化。
到目前爲止,我已經成功地一些類像骷髏調試到身體,但也有一些與Skeleon和AllFramesReadyEventsArgs缺少的部分:Kinect v1和Kinect v2類的替代品
private void KinectAllFramesReady(object sender, AllFramesReadyEventArgs e)
{
// Have we already been "shut down" by the user of this viewer,
// or has the SkeletonStream been disabled since this event was posted?
if ((this.Kinect == null) || !((KinectSensor)sender).SkeletonStream.IsEnabled)// Error with Skeleton Stream
{
return;
}
bool haveSkeletonData = false;
using (BodyFrame skeletonFrame = e.OpenSkeletonFrame())
{
if (skeletonFrame != null)
{
if (this.skeletonCanvases == null)
{
this.CreateListOfSkeletonCanvases();
}
if ((this.skeletonData == null) || (this.skeletonData.Length != skeletonFrame.SkeletonArrayLength))// Error with SkeletonArrayLength
{
this.skeletonData = new Body[ skeletonFrame.SkeletonArrayLength];
}
skeletonFrame.CopySkeletonDataTo(this.skeletonData);// Error with Skeleton Frrame
haveSkeletonData = true;
}
}
我仍然有框架的讀者,什麼是Kinect的V2替代它? 我有以下的代碼這是Kinect的V1:
protected override void OnKinectChanged(KinectSensor oldKinectSensor, KinectSensor newKinectSensor)
{
if (oldKinectSensor != null)
{
oldKinectSensor.AllFramesReady -= this.KinectAllFramesReady;
this.HideAllSkeletons();
}
if (newKinectSensor != null && newKinectSensor.Status == KinectStatus.Connected)
{
newKinectSensor.AllFramesReady += this.KinectAllFramesReady;
}
}
你能爲我提供了一個正確的代碼,請開發kinectV2 skeleton類之間? 我改變了它,但仍然有一些來自'AllFrameReady'的錯誤,再加上'KinectStatus'錯誤 –