Kinect V1 sınıflarını kullanan bir kodu dönüştürürken birçok hatayı ayıklarken, Kinect V2 sınıflarına giderim. this belirtildiği gibi, bazı değişiklikler var.
Şimdiye kadar Gövde içine İskelet gibi bazı sınıfları hata ayıklamak için başarmış ama Skeleon ve AllFramesReadyEventsArgs bazı eksik parçalardır orada: Hala Çerçeve okuyucunuzKinect v1 ve Kinect v2 sınıfları alternatifleri
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 alternatif bunun için ne ? Ben Kinect V1 için aşağıdaki kodu vardır:
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;
}
}
kullanmak zorunda SDK2 ile kinectV2 geliştirmek için İskelet Sınıf arasındadır? Bunu değiştirdim, ancak hala "AllFrameReady", artı KinectStatus hatasıyla ilgili bazı hatalar var –