void kinectSensorChooser1_KinectSensorChanged(object sender, DependencyPropertyChangedEventArgs e)
{
KinectSensor oldSensor = (KinectSensor)e.OldValue;
StopKinect(oldSensor);
KinectSensor newSensor = (KinectSensor)e.NewValue;
sensor = newSensor;
if (newSensor == null)
{
return;
}
var parameters = new TransformSmoothParameters
{
Smoothing = 0.75f,
Correction = 0.0f,
Prediction = 0.0f,
JitterRadius = 0.05f,
MaxDeviationRadius = 0.04f
};
newSensor.SkeletonStream.Enable(parameters);
newSensor.AllFramesReady += new EventHandler<AllFramesReadyEventArgs>(newSensor_AllFramesReady);
// DELETE THIS TEMPRECORD
// newSensor.AllFramesReady += new EventHandler<AllFramesReadyEventArgs>(tempRecord);
newSensor.ColorStream.Enable(ColorImageFormat.RgbResolution640x480Fps30);
newSensor.DepthStream.Enable(DepthImageFormat.Resolution640x480Fps30);
newSensor.SkeletonStream.Enable();
this.preSpeechRecognizer = this.CreateSpeechRecognizerPreRecording();
this.postSpeechRecognizer = this.CreateSpeechRecognizerPostRecording();
try
{
newSensor.Start();
}
catch (System.IO.IOException)
{
kinectSensorChooser1.AppConflictOccurred();
}
if (sensor != null)
{
// NOTE: Need to wait 4 seconds for device to be ready to stream audio right after initialization
this.readyTimer = new DispatcherTimer();
this.readyTimer.Tick += this.ReadyTimerTick;
this.readyTimer.Interval = new TimeSpan(0, 0, 4);
this.readyTimer.Start();
}
}