public bool EnableScriptStream { get; set; }
A boolean value that represents whether the script stream is enabled.
using Leadtools;using Leadtools.Multimedia;using LeadtoolsMultimediaExamples.Fixtures;public bool _result = false;public CaptureCtrlForm _form = new CaptureCtrlForm();public DateTime _startTime;CaptureCtrl _capturectrl;WMScript _mux;public void WriteScriptStreamExample(){_capturectrl = _form.CaptureCtrl;// reference the capture controlstring outFile = Path.Combine(LEAD_VARS.MediaDir, "WriteScriptStream_Dest.wmv");try{_capturectrl.TargetFormat = TargetFormatType.WMVMux;_capturectrl.TargetFile = outFile;// set an audio device, use the name of your device hereif (_capturectrl.VideoDevices["USB"] == null)throw new Exception("No USB audio device available");_capturectrl.VideoDevices["USB"].Selected = true;if (_capturectrl.IsModeAvailable(CaptureMode.Video)){_capturectrl.FrameDelay = .033; // 30 frames per second_capturectrl.TimeLimit = 10; // just 10 seconds of capture time_capturectrl.UseTimeLimit = true;// call ReadyCapture, so the target object is added_capturectrl.ReadyCapture(CaptureMode.Video | CaptureMode.InhibitRun);// get the scripter object_mux = _capturectrl.WMScripter;if (_mux == null)return;// enable the script stream_mux.EnableScriptStream = true;// subscribe to the complete event_capturectrl.Complete += new EventHandler(CaptureCtrl_Complete);// subscribe to the error abort event_capturectrl.ErrorAbort += new ErrorAbortEventHandler(CaptureCtrl_ErrorAbort);// set the start time_startTime = DateTime.Now;// set a timer so we can write the Script commands every second_form.TestTimer.Interval = 1000;_form.TestTimer.Tick += new EventHandler(TestTimer_Tick);_form.TestTimer.Start();// start the capture process_capturectrl.StartCapture(CaptureMode.Video);// 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 (_capturectrl.State == CaptureState.Running)Application.DoEvents();}}catch (Exception){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 (_capturectrl.State == CaptureState.Running)Application.DoEvents();_result = true;}public void TestTimer_Tick(object sender, EventArgs e){// stop the capturetry{double elapsedTime = (DateTime.Now - _startTime).TotalMilliseconds / 1000;String sz = String.Format("Sample caption script at {0} seconds", elapsedTime);_mux.WriteScriptStream("caption", sz, elapsedTime);}catch (Exception){_result = false;_capturectrl.StopCapture();}}public void CaptureCtrl_Complete(object sender, EventArgs e){// set result_result = true;// the capture has finished, do not write scripts anymore// Note that since the capture has finished automatically, I do not need to call _mux.CloseScriptStream()_form.TestTimer.Stop();}public void CaptureCtrl_ErrorAbort(object sender, ErrorAbortEventArgs e){// set result_result = false;// the capture has finished, do not write scripts anymore// Note that since the capture has finished automatically, I do not need to call _mux.CloseScriptStream()_form.TestTimer.Stop();}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
