示例#1
0
        /// <summary>
        /// 查找详细
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public static ResultPaging <RecordDto> GetRecord(RecordParam param)
        {
            ResultPaging <RecordDto> resultPaging = new ResultPaging <RecordDto>();

            resultPaging.Data = new List <RecordDto>();

            try
            {
                using (var conn = DapperFactory.CrateMysqlConnection())
                {
                    resultPaging.Data    = conn.Query <RecordDto>(@"SELECT
                                                                a.EnrollNumber, (CASE WHEN  b.Name IS NULL THEN a.EnrollNumber ELSE b.`Name` END) as Name,a.AttendancedOn as Attendanced
                                                             FROM
                                                                attendancerecord AS a
                                                            LEFT JOIN personsetting AS b ON a.EnrollNumber = b.EnrollNumber
                                                            WHERE a.EnrollNumber = @EnrollNumber or b.Name LIKE @Name order by a.AttendancedOn desc", new { EnrollNumber = param.Search, Name = '%' + param.Search + '%' }).Skip((param.PageIndex - 1) * param.PageSize).Take(param.PageSize).ToList();
                    resultPaging.Result  = true;
                    resultPaging.Message = $"Search:{param.Search},PageIndex:{param.PageIndex},PageSize:{param.PageSize}";
                }
            }
            catch (Exception ex)
            {
                resultPaging.Result  = false;
                resultPaging.Message = ex.Message;
            }
            return(resultPaging);
        }
示例#2
0
        /// <summary>
        /// 开始直播录制
        /// </summary>
        /// <param name="param">录制参数(录制文件存放路径、录制格式等)</param>
        /// <returns></returns>
        public bool StartRecord(RecordParam param)
        {
            ThrowIfServiceException();

            if (param == null)
            {
                throw new ArgumentNullException("param");
            }

            var directory = Path.GetDirectoryName(param.Path);

            if (!Directory.Exists(directory))
            {
                Directory.CreateDirectory(directory);
            }

            var p = (_RecordParam)param;

            try
            {
                return(Api.StartRecord(Service, ref p) == FuncResult.Ok);
            }
            finally
            {
                p.Dispose();
            }
        }
示例#3
0
        private void btnStartRecord_Click(object sender, RoutedEventArgs e)
        {
            DoAction(() =>
            {
                if (_liveStreamStarted)
                {
                    var param = new RecordParam();

                    param.Format = RecordFormat.FLV;
                    param.Path   = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $@"录制\{new Random().Next()}.flv");

                    if (_recordStarted = ApiProvider.Default.StartRecord(param))
                    {
                        var text = $"format:{param.Format}{Environment.NewLine}";
                        text    += $"path:{param.Path}{Environment.NewLine}";

                        MessageBox.Show(text, "Start Success");
                    }
                }
            });
        }
        public Task <ReturnMessage> SetRecordParameter(RecordParameter recordParameter)
        {
            Task <ReturnMessage> checkTask = _meetingManager.CheckMeetingServerStatus();

            if (checkTask != null)
            {
                return(checkTask);
            }

            var tcs = new TaskCallback <ReturnMessage>("SetRecordParameter");

            if (_meetingManager.TaskCallbacks.ContainsKey(tcs.Name))
            {
                _meetingManager.TaskCallbacks.Remove(tcs.Name);
            }

            _meetingManager.TaskCallbacks.Add(tcs.Name, tcs);


            RecordParam recordParam = new RecordParam()
            {
                AudioBitrate  = recordParameter.AudioBitrate,
                BitsPerSample = recordParameter.BitsPerSample,
                Channels      = recordParameter.Channels,
                Height        = recordParameter.Height,
                SampleRate    = recordParameter.SampleRate,
                VideoBitrate  = recordParameter.VideoBitrate,
                Width         = recordParameter.Width
            };

            var result = MeetingAgent.SetRecordParam(recordParam);

            if (result != 0)
            {
                return(Task.FromResult(MessageManager.FailedToSetRecordParameter));
            }

            return(tcs.Task);
        }
        public bool GetRecordParam()
        {
            if (!File.Exists(ConfigFile))
            {
                return(false);
            }

            try
            {
                Common.RecordParam recordParam = new RecordParam()
                {
                    AudioBitrate  = 64,
                    BitsPerSample = 16,
                    Channels      = 1,
                    SampleRate    = 8000,
                    VideoBitrate  = int.Parse(GlobalData.Instance.AggregatedConfig.RecordConfig.CodeRate)
                };

                string[] resolutionStrings =
                    GlobalData.Instance.AggregatedConfig.RecordConfig.Resolution.Split(new[] { '*' },
                                                                                       StringSplitOptions.RemoveEmptyEntries);

                recordParam.Width  = int.Parse(resolutionStrings[0]);
                recordParam.Height = int.Parse(resolutionStrings[1]);

                RecordParam     = recordParam;
                RecordDirectory = GlobalData.Instance.AggregatedConfig.RecordConfig.RecordPath;

                return(true);
            }
            catch (Exception ex)
            {
                Log.Logger.Error($"【get record param exception】:{ex}");
                return(false);
            }
        }
 public static extern int SetRecordParam(RecordParam recordParam);
        public ResultPaging <RecordDto> GetRecord([FromBody] RecordParam param)
        {
            var result = Repository.Repository.GetRecord(param);

            return(result);
        }