private void Initialize()
        {
            if (kinectSensor == null)
            {
                return;
            }

            audioManager = new AudioStreamManager(kinectSensor.AudioSource);
            audioBeamAngle.DataContext = audioManager;

            kinectSensor.ColorStream.Enable(ColorImageFormat.RgbResolution640x480Fps30);
            kinectSensor.ColorFrameReady += kinectRuntime_ColorFrameReady;

            kinectSensor.DepthStream.Enable(DepthImageFormat.Resolution320x240Fps30);
            kinectSensor.DepthFrameReady += kinectSensor_DepthFrameReady;

            kinectSensor.SkeletonStream.Enable(new TransformSmoothParameters
            {
                Smoothing          = 0.5f,
                Correction         = 0.5f,
                Prediction         = 0.5f,
                JitterRadius       = 0.05f,
                MaxDeviationRadius = 0.04f
            });
            kinectSensor.SkeletonFrameReady += kinectRuntime_SkeletonFrameReady;

            swipeGestureRecognizer = new SwipeGestureDetector();
            swipeGestureRecognizer.OnGestureDetected += OnGestureDetected;

            skeletonDisplayManager = new SkeletonDisplayManager(kinectSensor, kinectCanvas);

            kinectSensor.Start();

            LoadCircleGestureDetector();
            LoadLetterTPostureDetector();
            LoadTriGestureDetector();
            //Add Triangle

            nuiCamera = new BindableNUICamera(kinectSensor);

            elevationSlider.DataContext = nuiCamera;

            voiceCommander = new VoiceCommander("record", "stop");
            voiceCommander.OrderDetected += voiceCommander_OrderDetected;

            StartVoiceCommander();

            kinectDisplay.DataContext = colorManager;

            parallelCombinedGestureDetector = new ParallelCombinedGestureDetector();
            parallelCombinedGestureDetector.OnGestureDetected += OnGestureDetected;
            parallelCombinedGestureDetector.Add(swipeGestureRecognizer);
            parallelCombinedGestureDetector.Add(circleGestureRecognizer);
            parallelCombinedGestureDetector.Add(triangleGestureRecognizer);

            //Add Triangle
            //Media_Loaded();
            //btnVideo_Click();
        }
        private void Clean()
        {
            if (swipeGestureRecognizer != null)
            {
                swipeGestureRecognizer.OnGestureDetected -= OnGestureDetected;
            }

            if (audioManager != null)
            {
                audioManager.Dispose();
                audioManager = null;
            }

            if (parallelCombinedGestureDetector != null)
            {
                parallelCombinedGestureDetector.Remove(swipeGestureRecognizer);
                parallelCombinedGestureDetector.Remove(circleGestureRecognizer);
                parallelCombinedGestureDetector.Remove(triangleGestureRecognizer);

                parallelCombinedGestureDetector = null;
                //Add Triangle
            }

            CloseGestureDetector();

            ClosePostureDetector();

            if (voiceCommander != null)
            {
                voiceCommander.OrderDetected -= voiceCommander_OrderDetected;
                voiceCommander.Stop();
                voiceCommander = null;
            }

            if (recorder != null)
            {
                recorder.Stop();
                recorder = null;
            }

            if (eyeTracker != null)
            {
                eyeTracker.Dispose();
                eyeTracker = null;
            }

            if (kinectSensor != null)
            {
                kinectSensor.DepthFrameReady    -= kinectSensor_DepthFrameReady;
                kinectSensor.SkeletonFrameReady -= kinectRuntime_SkeletonFrameReady;
                kinectSensor.ColorFrameReady    -= kinectRuntime_ColorFrameReady;
                kinectSensor.Stop();
                kinectSensor = null;
            }
        }
示例#3
0
        protected override void Initialize()
        {
            IsMouseVisible = true;

            IsFixedTimeStep        = true;
            TargetElapsedTime      = TimeSpan.FromMilliseconds(1000.0f / 60f);
            Engine.TargetFrameTime = (float)TargetElapsedTime.Milliseconds;

            var renderer = new Renderer();

            renderer.Device = m_graphicsDeviceManager.GraphicsDevice;

            Engine.AddComponent(renderer);
            Engine.Renderer = renderer;

            var debug = new DebugManager();

            Engine.AddComponent(debug);
            Engine.Debug = debug;

            var audio = new AudioManager();

            Engine.AddComponent(audio);
            Engine.Audio = audio;

            var music = new MusicManager();

            Engine.AddComponent(music);
            Engine.MusicManager = music;

            var audioStreamManager = new AudioStreamManager();

            Engine.AddComponent(audioStreamManager);
            Engine.AudioStreamManager = audioStreamManager;

            Window.AllowUserResizing = false;

            base.Initialize();
        }