WMScript Class

Summary
A WMScript object used to add Script commands to Windows Media Files or Streams.
Syntax
C#
VB
C++
public class WMScript : IDisposable 
Public Class WMScript  
   Implements System.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, Processing Windows Media Script Commands.

Example
C#
VB
using Leadtools; 
using Leadtools.Multimedia; 
using LeadtoolsMultimediaExamples.Fixtures; 
 
public bool _result = false; 
public PlayCtrlForm _form = new PlayCtrlForm(); 
 
public void HandleScriptExample() 
{ 
   PlayCtrl playctrl = _form.PlayCtrl; 
   string inFile = Path.Combine(LEAD_VARS.MediaDir, "WriteScriptStream_Dest.wmv"); 
 
   try 
   { 
      playctrl.MediaEvent += new MediaEventHandler(PlayCtrl_MediaEvent); 
 
      playctrl.SourceFile = inFile; 
   } 
   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 (playctrl.State == PlayState.Running) 
      Application.DoEvents(); 
} 
 
public void PlayCtrl_MediaEvent(object sender, MediaEventArgs e) 
{ 
   if (e.eventCode == MediaEventCode.EC_OLE_EVENT) 
   { 
      string nameString = System.Runtime.InteropServices.Marshal.PtrToStringBSTR(new IntPtr(e.param1)); 
      string commandString = System.Runtime.InteropServices.Marshal.PtrToStringBSTR(new IntPtr(e.param2)); 
      Console.WriteLine("EC_OLE_EVENT: name={0}, command={1}", nameString, commandString); 
      _result = true; 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string MediaDir = @"C:\LEADTOOLS21\Media"; 
} 
Imports Leadtools 
Imports Leadtools.Multimedia 
Imports LeadtoolsMultimediaExamples.Fixtures 
 
Public _result As Boolean = False 
Public _form As New PlayCtrlForm() 
 
Public Sub HandleScriptExample() 
   Dim playctrl As PlayCtrl = _form.PlayCtrl 
   Dim inFile As String = Path.Combine(LEAD_VARS.MediaDir, "WriteScriptStream_Dest.wmv") 
 
   Try 
      AddHandler playctrl.MediaEvent, AddressOf PlayCtrl_MediaEvent 
 
      playctrl.SourceFile = inFile 
   Catch generatedExceptionName As Exception 
      Exit Sub 
   End Try 
 
   ' 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 playctrl.State = PlayState.Running 
      Application.DoEvents() 
   End While 
End Sub 
 
Public Sub PlayCtrl_MediaEvent(ByVal sender As Object, ByVal e As MediaEventArgs) 
   If (e.eventCode = MediaEventCode.EC_OLE_EVENT) Then 
      Dim nameString As String = System.Runtime.InteropServices.Marshal.PtrToStringBSTR(New IntPtr(e.param1)) 
      Dim commandString As String = System.Runtime.InteropServices.Marshal.PtrToStringBSTR(New IntPtr(e.param2)) 
      Console.WriteLine("EC_OLE_EVENT: name={0}, command={1}", nameString, commandString) 
      _result = True 
   End If 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const MediaDir As String = "C:\LEADTOOLS21\Media" 
End Class 
Requirements

Target Platforms

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

Leadtools.Multimedia Assembly

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.