Ich habe viele Fehler beim Konvertieren eines Codes mit Kinect V1-Klassen in Kinect V2-Klassen getestet. Als this angegeben, gibt es einige Änderungen.
Bisher habe ich es geschafft haben, einige Klassen wie Skeleton in den Körper zu debuggen, aber es gibt einige fehlende Teile mit den Skeleon und AllFramesReadyEventsArgs:Kinect v1 und Kinect v2 Klassen Alternativen
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;
}
}
ich noch den Rahmenleser haben, was ist die Kinect V2 Alternative für sie ? ich den folgenden Code haben, die für Kinect V1 ist:
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;
}
}
Könnten Sie mir einen richtigen Code Bitte verwenden? Ich habe es geändert, aber es gibt immer noch einige Fehler von 'AllFrameReady', plus den' KinectStatus' Fehler –