/// <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); }
/// <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(); } }
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); }