WMScript Class

Summary
A WMScript object used to add Script commands to Windows Media Files or Streams.
Syntax
C#
C++/CLI
public class WMScript : IDisposable 
public ref class WMScript : public System.IDisposable   
Remarks

The WMScript class exposes a Windows Media script management interface, useful for adding and removing script commands in the WMV video format. The CaptureCtrl and ConvertCtrl objects use this object to allow the insertion of header and stream-based scripts. A WMScript object cannot be created externally and is only obtained through the parent object's interface. To get this interface, call either CaptureCtrl.WMScripter or ConvertCtrl.WMScripter. See the Microsoft documentation, Using Script Commands Supported by Windows Media Player, for a complete list of script commands supported by Windows Media Player.

For more information on LEADTOOLS Multimedia support, see Windows Media Support. For more information on Windows Media Scripts and for an example of how Windows Media Scripts are processed, refer to Processing Windows Media Script Commands.

Example
C#
using Leadtools; 
using Leadtools.Multimedia; 
using LeadtoolsMultimediaExamples.Fixtures; 
 
 
public bool _result = false; 
public ConvertCtrlForm _form = new ConvertCtrlForm(); 
 
public void AddHeaderScriptExample() 
{ 
   ConvertCtrl convertctrl = _form.ConvertCtrl; 
   string inFile = Path.Combine(LEAD_VARS.MediaDir, "ConvertCtrl_Source.avi"); 
   string outFile = Path.Combine(LEAD_VARS.MediaDir, "WMScript_AddHeaderScriptExample.wmv"); 
 
   try 
   { 
      convertctrl.TargetFormat = TargetFormatType.WMVMux; 
      convertctrl.SourceFile = inFile; 
      convertctrl.TargetFile = outFile; 
      WMScript mux = convertctrl.WMScripter; 
      if (mux == null) 
      { 
         _result = false; 
         return; 
      } 
 
      mux.EnableScriptStream = false; 
      if (mux.HeaderScriptCount > 0) 
         mux.RemoveAllHeaderScripts(); 
 
      WriteScript(convertctrl, mux); 
 
      // run the convert 
      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(); 
 
   // set the result 
   _result = true; 
} 
 
public void WriteScript(ConvertCtrl convertctrl, WMScript mux) 
{ 
   double duration = convertctrl.Duration; 
 
   for (double t = 0.0; t < duration; t += 1.0) 
   { 
      String sz = String.Format("Sample caption script at {0} seconds", t); 
      mux.AddHeaderScript("caption", sz, t); 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string MediaDir = @"C:\LEADTOOLS23\Media"; 
} 
Requirements

Target Platforms

Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Multimedia Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.