/// <summary> /// 创建录像工作线程 /// </summary> /// <param name="device">设备</param> /// <param name="channel">通道</param> /// <param name="uri">资源地址</param> /// <param name="width">宽度</param> /// <param name="height">高度</param> /// <param name="frameRate">帧率</param> /// <param name="eventName">事件名称</param> /// <returns>是否成功</returns> private bool CreateRecordingWorker(IDevice device, int channel, string uri, int width, int height, int frameRate, string eventName) { var worker = new RecordingWorker(); if (ARESULT.AFAILED(worker.Initialize(new Dictionary <string, object>() { { "cell", this }, { "device", device }, { "channel", channel }, { "uri", uri }, { "width", width }, { "height", height }, { "frameRate", frameRate }, { "eventName", eventName }, }))) { Tracker.LogE($"RecordingWorker initialize fail: {device.Model}"); return(false); } if (ARESULT.AFAILED(worker.Start())) { Tracker.LogE($"RecordingWorker start fail: {device.Model}"); return(false); } recordingWorkers.Add(worker); Tracker.LogE($"StartRecording succeed: {device.Model}"); return(true); }
private void RecordBtn_Click(object sender, EventArgs e) { // Toggle the recording state recording = !recording; if (recording) { // If we are beginning to record then chaneg the button text and start the worker (sender as Button).Text = "Recording"; RecordingWorker.RunWorkerAsync(); } else { (sender as Button).Text = "Record"; } }