public void PauseRecording() public:void PauseRecording();
This method sets the Mode property to VCRControlMode.PauseRecording. If the method fails, an error is raised. For more information, refer to the Error Codes.
using Leadtools;using Leadtools.Multimedia;using LeadtoolsMultimediaExamples.Fixtures;public bool _result = false;public ConvertCtrlForm _form = new ConvertCtrlForm();public ConvertCtrl _convertctrl;public bool _testing;public int _startTimeCode;public int _stopTimeCode;public void ReadTimecodeExample(){// reference the convert control_convertctrl = _form.ConvertCtrl;// input filestring inFile = Path.Combine(LEAD_VARS.MediaDir, "ConvertCtrl_Source.avi");try{// check to see if we have the desired target deviceif (_convertctrl.TargetDevices["Microsoft DV Camera and VCR"] == null)throw new Exception("No Microsoft DV Camera target devices available!");// set the video capture device, use your capture device name here_convertctrl.SourceFile = inFile;// select video and audio compressors to none_convertctrl.VideoCompressors.Selection = -1;_convertctrl.AudioCompressors.Selection = -1;// select the target format_convertctrl.TargetFormats[TargetFormatType.DVSD].Selected = true;// select only Audio for this example_convertctrl.AllowedStreams = StreamFormatType.AudioVideo;// set a target device_convertctrl.TargetDevices["Microsoft DV Camera and VCR"].Selected = true;// check the target device VCRControlif (_convertctrl.TargetVCRControl == null|| (_convertctrl.TargetVCRControl.DeviceType == VCRControlDeviceType.NotPresent|| _convertctrl.TargetVCRControl.DeviceType == VCRControlDeviceType.Unknown))throw new Exception("MS DV Camera's Target VCR control is not present!");// subscribe to convert control events for VCR control input_convertctrl.Started += new EventHandler(ConvertCtrl_Started);_convertctrl.Complete += new EventHandler(ConvertCtrl_Complete);_convertctrl.Progress += new ProgressEventHandler(ConvertCtrl_Progress);_convertctrl.KeyPress += new Leadtools.Multimedia.KeyPressEventHandler(ConvertCtrl_KeyPress);// start the conversion_convertctrl.StartConvert();}catch (Exception){_result = false;return;}// we'll loop on the state and pump messages for this example.// but you should not need to if running from a Windows Forms application.while (_convertctrl.State == ConvertState.Running)Application.DoEvents();// switch to playback and test_testing = true;// again, we'll loop and pump messages for this example for// playback testing, (setting _testing == true will exit)while (_testing)Application.DoEvents();}void ConvertCtrl_Started(object sender, EventArgs e){// start recordingif (_convertctrl.TargetVCRControl.Mode != VCRControlMode.Record){// pause the graph to prevent frame loss_convertctrl.PauseConvert();// start the record on the VCR control_convertctrl.TargetVCRControl.Record();// resume graph now_convertctrl.RunConvert();}// get our VCR start timecode_startTimeCode = _convertctrl.TargetVCRControl.ReadTimecode();}void ConvertCtrl_Complete(object sender, EventArgs e){// stop recordingif (_convertctrl.TargetVCRControl.Mode != VCRControlMode.Stop)_convertctrl.TargetVCRControl.Stop();// get our VCR start timecode_stopTimeCode = _convertctrl.TargetVCRControl.ReadTimecode();// set the result to what we expect_result = (_stopTimeCode > _startTimeCode);}void ConvertCtrl_KeyPress(object sender, Leadtools.Multimedia.KeyPressEventArgs e){// if ok to perform playback functionsif (_testing && _convertctrl.TargetVCRControl != null){// reference the target VCR controlVCRControl vcr = _convertctrl.TargetVCRControl;switch ((char)e.keyAscii){case '*':// seek to the beginning of the captureif (vcr.Mode != VCRControlMode.Stop)vcr.Stop();vcr.SeekTimecode(_startTimeCode);break;case '~':// seek to the end of the captureif (vcr.Mode != VCRControlMode.Stop)vcr.Stop();vcr.SeekTimecode(_stopTimeCode);break;case 'p':// start playbackif (vcr.Mode != VCRControlMode.Play)vcr.Play();break;case 's':// skip ahead 1000 units from the current timecodevcr.Pause();int tc = vcr.ReadTimecode();vcr.SeekTimecode(tc + 1000);vcr.Play();break;case '+':// step forward one frameif (vcr.Mode != VCRControlMode.Pause)vcr.Pause();vcr.StepForward();break;case '-':// step backward one frameif (vcr.Mode != VCRControlMode.Pause)vcr.Pause();vcr.StepBackward();break;case 'f':// slowest forwardvcr.SlowestForward();break;case 'r':// slowest reversevcr.SlowestReverse();break;case '>':// fastest forwardvcr.FastestForward();break;case '<':// fastest reversevcr.FastestReverse();break;case 'x':// stop playback and exitif (vcr.Mode != VCRControlMode.Stop)vcr.Stop();_testing = false;break;}}}void ConvertCtrl_Progress(object sender, ProgressEventArgs e){if (_convertctrl.TargetVCRControl != null){// reference the VCR controlVCRControl vcr = _convertctrl.TargetVCRControl;// get the current time codeint timeCode = vcr.ReadTimecode();}}static class LEAD_VARS{public const string MediaDir = @"C:\LEADTOOLS23\Media";}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
