public void Play() public:void Play();
This method sets the Mode property to VCRControlMode.Play. This method does not support the VCRControlDeviceType.Camera device type. 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
