コード例 #1
0
        public void StartRecording(string startRecording)
        {
            if (recStatus)
            {
                try
                {
                    if (_job == null)
                    {
                        _job = new Microsoft.Expression.Encoder.ScreenCapture.ScreenCaptureJob();
                        string tempPath = Constants.AttachmentResources;

                        _savename       = tempPath;
                        _job.OutputPath = _savename;

                        recordedVideoName = "rec_" + NxgUtilities.GetCurrentTime() + ".wmv";

                        recordedVideoFilePath = tempPath + recordedVideoName;

                        recordingActualFilePath = _job.OutputScreenCaptureFileName = recordedVideoFilePath;
                        var audioDevices = EncoderDevices.FindDevices(EncoderDeviceType.Audio);
                        for (var deviceCount = 1; deviceCount <= audioDevices.Count; deviceCount++)
                        {
                            var id = deviceCount - 1;
                            _job.AddAudioDeviceSource(audioDevices.ElementAt(id));
                        }

                        _job.ScreenCaptureVideoProfile         = new Microsoft.Expression.Encoder.Profiles.ScreenCaptureVideoProfile();
                        _job.ScreenCaptureVideoProfile.AutoFit = true;
                        dt       = new DispatcherTimer();
                        sw       = new Stopwatch();
                        dt.Tick += new EventHandler(dt_Tick);
                        sw.Start();
                        dt.Start();
                        dt.Interval = new TimeSpan(0, 0, 0, 0, 1);

                        _job.ScreenCaptureVideoProfile.Quality   = 50;
                        _job.ScreenCaptureVideoProfile.FrameRate = 24;
                        _job.Start();

                        Canv_stop_recording_visibility = Visibility.Visible;
                        Pause_recording_visibiity      = Visibility.Visible;
                        Start_recording_visibiity      = Visibility.Hidden;
                    }
                }
                catch (Exception ex)
                {
                    App.InsertException(ex);
                    recStatus = false;
                }
                recStatus = false;
            }
            else
            {
            }
        }
コード例 #2
0
        public void GetDefaultBoardData()
        {
            try
            {
                if (_rethinkCon != null && _rethinkCon.Open)
                {
                    var strokesData   = _rethinkDb.Db(_rethinkDatabase).Table(_rethinkAnnotations).Filter(k => k.G("MeetingId").Eq(_meetingId)).Run(_rethinkCon);
                    var resourcesData = _rethinkDb.Db(_rethinkDatabase).Table(_rethinkResources).Filter(k => k.G("MeetingId").Eq(_meetingId)).Run(_rethinkCon);

                    NxgUtilities.CreateDirectory(Constants.AttachmentResources + _meetingId);
                    foreach (var data in resourcesData.BufferedItems)
                    {
                        RtLibraryThumb resource = JsonConvert.DeserializeObject <RtLibraryThumb>(Convert.ToString(data));
                        string         filePath = Constants.AttachmentResources + _meetingId + "/" + resource.FileId + ".png";
                        if (!File.Exists(filePath))
                        {
                            NxgUtilities.GetBitmapFromBytes(Convert.FromBase64String(resource.BinaryData), filePath);
                        }
                    }

                    if (strokesData.BufferedItems.Count > 0)
                    {
                        foreach (var item in strokesData.BufferedItems)
                        {
                            RtBoardAnnotation annotations = JsonConvert.DeserializeObject <RtBoardAnnotation>(Convert.ToString(item));
                            if (annotations != null && !string.IsNullOrWhiteSpace(annotations.Strokes) && annotations.MeetingId == _meetingId)
                            {
                                App.Current.Dispatcher.Invoke(() =>
                                {
                                    try
                                    {
                                        StrokeCollection strokes = XamlReader.Parse(annotations.Strokes) as StrokeCollection;
                                        _guestInkCanvas.Strokes  = new StrokeCollection(strokes.Where(s => Convert.ToString(s.GetPropertyData(s.GetPropertyDataIds()[0])) != _macAddress).ToList());
                                        _boardInkCanvas.Strokes  = new StrokeCollection(strokes.Where(s => Convert.ToString(s.GetPropertyData(s.GetPropertyDataIds()[0])) == _macAddress).ToList());
                                    }
                                    catch (Exception)
                                    {
                                    }
                                });
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                App.InsertException(ex);
            }
        }
コード例 #3
0
 public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
 {
     if (string.IsNullOrWhiteSpace(System.Convert.ToString(parameter)))
     {
         return(NxgUtilities.GetDateExtension(System.Convert.ToDateTime(value).ToString("dd")));
     }
     else if (System.Convert.ToString(parameter) == "Day")
     {
         return(System.Convert.ToDateTime(value).ToString("dddd ") + NxgUtilities.GetDateExtension(System.Convert.ToDateTime(value).ToString("dd")) + System.Convert.ToDateTime(value).ToString(" MMMM yyyy"));
     }
     else
     {
         return(NxgUtilities.GetDateExtension(System.Convert.ToDateTime(value).ToString("dd")) + System.Convert.ToDateTime(value).ToString(" MMMM yyyy"));
     }
 }
コード例 #4
0
        private object GetVisibility(object value, int index)
        {
            if (!(value is string) || string.IsNullOrWhiteSpace(System.Convert.ToString(value)))
            {
                return(Visibility.Collapsed);
            }

            string objValue  = (string)value;
            string extension = Path.GetExtension(objValue);

            if ((NxgUtilities.IsValidVideoExtension(extension) && index == 0) || (NxgUtilities.IsValidPdfExtension(extension) && index == 1))
            {
                return(Visibility.Visible);
            }

            return(Visibility.Collapsed);
        }
コード例 #5
0
ファイル: Assets.cs プロジェクト: SatishChandra-Nooguri/WallX
        public static BitmapImage GetBitmapImage(object typeObject, string attachment_Uid)
        {
            if (string.IsNullOrWhiteSpace(attachment_Uid))
            {
                return(null);
            }

            List <string> filesList = Directory.GetFiles(Constants.AttachmentResources).ToList();

            if (!attachment_Uid.ToLower().StartsWith("file") || typeObject is ImageAnnotations)
            {
                attachment_Uid = filesList.FirstOrDefault(s => Path.GetFileNameWithoutExtension(s).EndsWith(Path.GetFileNameWithoutExtension(attachment_Uid)));
            }

            string filePath = Constants.AttachmentResourceThumbs + Path.GetFileNameWithoutExtension(attachment_Uid) + ".png"; // pending by sat

            if (!(typeObject is ImageAnnotations) && !File.Exists(filePath))
            {
                GenerateThumb.GenerateThumbnail(filePath, Constants.AttachmentResourceThumbs, ".png");
            }

            return(NxgUtilities.GetBitmapImageFromFile(!(typeObject is ImageAnnotations) ? filePath : attachment_Uid, true));
        }