コード例 #1
0
ファイル: DeviceInfo.cs プロジェクト: wxmiswxm/Camera-Support
        /*
         * private void FilDevInfo()
         * {
         *  //string devInfo = "";
         *  //devInfo = vlc.Media.Metadatas.Title + Environment.NewLine;
         *
         *
         *
         *
         *  //form.txtDev.Text = devInfo + strCommon;
         * }*/

        #region real time Device Info


        //UISync.Execute(() => trackBar1.Value = (int)(e.NewPosition * 100));


        /// <summary>
        /// Event handler for "VlcControl.PositionChanged" event.
        /// Updates the label containing the playback position.
        /// </summary>
        /// <param name="sender">Event sending. </param>
        /// <param name="e">Event arguments, containing the current position. </param>
        private void Events_PlayerPositionChanged(object sender, MediaPlayerPositionChanged e)
        {
            //form.ControlTextUpdate(lblVlcNotifications, "Pozitie(doar pentru video local) : " + (e.Data * 100).ToString("000") + " %");
            //form.ControlTextUpdate(lblVlcNotifications, "FPS: " + vlc.FPS);

            if (_mMedia == null || _mPlayer == null || !_mPlayer.IsPlaying)
            {
                return;
            }

            UiSync.Execute(() => TextUpdate(_form.lblVlcNotify,
                                            @"Timp de functionare: " + _mPlayer.Time / 60000 + @" minute si " +
                                            (_mPlayer.Time / 1000) % 60 + @" secunde " +
                                            @", DecodedVideo: " + _mMedia.Statistics.DecodedVideo +
                                            @", InputBitrate: " + _mMedia.Statistics.InputBitrate +
                                            @", DemuxBitrate: " + _mMedia.Statistics.DemuxBitrate +
                                            @", DisplayedPictures: " + _mMedia.Statistics.DisplayedPictures +
                                            @", LostPictures: " + _mMedia.Statistics.LostPictures
                                            , false, false, false));

            //form.Log("Poze = " + vlc.GetCurrentMedia().Statistics.DisplayedPictures);

            if (!_info.Cam.Data.IsVideoComplete &&
                _info.Cam.Data.ImgCount < _mMedia.Statistics.DisplayedPictures)
            {
                _info.Cam.Data.ImgCount        = _mMedia.Statistics.DisplayedPictures;
                _info.Cam.Data.IsVideoComplete = true;
                UiSync.Execute(() => SetBtnsVisibilityOnPlay(true));
            }
            //form.Log("Poze = " + media.Statistics.DisplayedPictures);
            UiSync.Execute(UpdateEventsLabel);
        }
コード例 #2
0
ファイル: GuiBase.cs プロジェクト: wxmiswxm/Camera-Support
        internal GuiBase(FormMain formBase)
        {
            _logTimeLast = DateTime.MinValue;
            _form        = formBase;

            SessionInfo.Logger = new CLogger(_form.txtLVDebug, _form.txtLVErrors, _form.txtLVInfo, _form.txtLVWarnings);
            _info = new SessionInfo();

            UiSync.Init(formBase);


            DiscoverDevices();


            //form.panelVlc.BringToFront();
            //form.panelVlc.Click += PanelVlc_Click;
        }
コード例 #3
0
ファイル: Events.cs プロジェクト: wxmiswxm/Camera-Support
        private void Events_StateChanged(object sender, MediaStateChange e)
        {
            switch (e.NewState)
            {
            case MediaState.Opening:
                _info.Cam.Data.IsOpening = true;
                break;

            case MediaState.Buffering:
                _info.Cam.Data.IsBuffering = true;
                break;

            case MediaState.Playing:
                _info.Cam.Data.IsPlaying = true;
                break;

            case MediaState.Paused:
                _info.Cam.Data.IsPaused = true;
                break;

            case MediaState.Stopped:
                if (!_info.Cam.Data.IsStopped)
                {
                    UiSync.Execute(() => SetBtnsVisibilityOnPlay(false));
                }
                _info.Cam.Data.IsStopped = true;
                break;

            case MediaState.Ended:
                UiSync.Execute(() => StartVlcReinit(true));
                break;

            case MediaState.Error:
                UiSync.Execute(() => StartVlcReinit(false));
                break;

            case MediaState.NothingSpecial:
                break;
            }

            if (_mPlayer != null)
            {
                SessionInfo.Playing = _mPlayer.IsPlaying;
            }
        }
コード例 #4
0
ファイル: Events.cs プロジェクト: wxmiswxm/Camera-Support
        internal void Log(string s)
        {
            if (_logTimeLast == DateTime.MinValue)//connection start
            {
                _logTimeLast = DateTime.Now;

                UiSync.Execute(() =>
                               TextUpdate(_form.txtDev,
                                          Environment.NewLine +
                                          $"{_logTimeLast.Hour:00}:{_logTimeLast.Minute:00}:{_logTimeLast.Second:00}.{_logTimeLast.Millisecond:000}          ---    Conexiune pornita   ---"
                                          , true, true, false));
            }

            _logTimeNow = DateTime.Now;
            UiSync.Execute(() =>
                           TextUpdate(_form.txtDev,
                                      $"{_logTimeLast.Hour:00}:{_logTimeLast.Minute:00}:{_logTimeLast.Second:00}.{_logTimeLast.Millisecond:000} {s} a inceput in {((int)_logTimeNow.Subtract(_logTimeLast).TotalMilliseconds).ToString()} ms {Environment.NewLine}"
                                      , true, false, true));
        }
コード例 #5
0
ファイル: Events.cs プロジェクト: wxmiswxm/Camera-Support
 private void Events_PlayerSnapshotTaken(object sender, MediaPlayerSnapshotTaken e)
 {
     UiSync.Execute(() => LogEvent(@"Snapshot salvat: " + e.FileName));
 }