Esempio n. 1
0
        public void AddColorFrame(BitmapSource bitmap)
        {
            if (this.isRecording)
            {
                _Frame   frame;
                TimeSpan timeWithPreviousFrame;

                DateTime now      = DateTime.Now;
                TimeSpan timeSpan = now.Subtract(this.StartDate);

                string path = this.GetColorFramePath() + now.GetStringTime() + ".jpg";
                if (this.previousFrame == null)
                {
                    timeWithPreviousFrame = timeSpan;
                }
                else
                {
                    timeWithPreviousFrame = timeSpan.Subtract(this.previousFrame.Time);
                }

                frame = new _Frame(bitmap.Clone(), path, timeSpan, timeWithPreviousFrame, _Frame.FrameType.Color);
                this.previousFrame = frame;
                frames.Add(frame);

                //bitmap.ToImageFile(path);
            }
        }
Esempio n. 2
0
        internal void AddBodyFrame(DrawingImage drawingImage)
        {
            if (this.isRecording)
            {
                //DateTime now = DateTime.Now;
                //TimeSpan timeSpan = this.StartDate.Subtract(now);
                //string path = this.GetBodyFramePath() + now.GetStringTime() + ".png";
                //RenderTargetBitmap bitmap = drawingImage.ToBitmap();
                //frames.Add(new Frame(bitmap.Clone(), path, timeSpan, Frame.FrameType.Body));
                ////bitmap.ToImageFile(path);

                _Frame   frame;
                TimeSpan timeWithPreviousFrame;

                DateTime now      = DateTime.Now;
                TimeSpan timeSpan = now.Subtract(this.StartDate);

                string path = this.GetColorFramePath() + now.GetStringTime() + ".png";
                if (this.previousFrame == null)
                {
                    timeWithPreviousFrame = timeSpan;
                }
                else
                {
                    timeWithPreviousFrame = timeSpan.Subtract(this.previousFrame.Time);
                }

                RenderTargetBitmap bitmap = drawingImage.ToBitmap();
                frame = new _Frame(bitmap.Clone(), path, timeSpan, timeWithPreviousFrame, _Frame.FrameType.Body);
                this.previousFrame = frame;
                frames.Add(frame);

                //bitmap.ToImageFile(path);
            }
        }
Esempio n. 3
0
        public void StartPlaying()
        {
            //playerWorker.RunWorkerAsync();


            Console.WriteLine("Playing...");
            this.isPlaying = true;

            _Frame bodyFrame  = frames.First(x => x.Type == _Frame.FrameType.Body);
            _Frame colorFrame = frames.First(x => x.Type == _Frame.FrameType.Color);

            _VisualizerXamlView.Instance().SetBodyFrame(bodyFrame.Bitmap);
            _VisualizerXamlView.Instance().SetColorFrame(colorFrame.Bitmap);

            //VisualizerXamlView view = VisualizerXamlView.Instance();
            //foreach (Frame frame in frames)
            //{
            //    if (frame.Type == Frame.FrameType.Body)
            //    {
            //        view.SetBodyFrame(frame.Bitmap);
            //        //Utils.RunActionAfter(view.SetBodyFrame, frame.Bitmap, frame.timeWithPrevFrame);
            //    }
            //    else if (frame.Type == Frame.FrameType.Color)
            //    {
            //        view.SetColorFrame(frame.Bitmap);
            //        //Utils.RunActionAfter(view.SetBodyFrame, frame.Bitmap, frame.timeWithPrevFrame);
            //    }
            //    int millis = (int)frame.timeWithPrevFrame.TotalMilliseconds;
            //    Console.WriteLine("waiting " + millis);
            //    Thread.Sleep(millis);
            //}
        }
Esempio n. 4
0
        public _Escena()
        {
            isRecordedOrImported = false;
            isRecording          = false;
            previousFrame        = null;

            playerWorker.WorkerReportsProgress      = false;
            playerWorker.WorkerSupportsCancellation = true;
            playerWorker.DoWork += new DoWorkEventHandler(this.bw_DoWork_StartPlaying);
            //playerWorker.ProgressChanged += new ProgressChangedEventHandler(bw_ProgressChanged);
            //playerWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw_RunWorkerCompleted);
        }