LEADTOOLS Multimedia (Leadtools.Multimedia assembly) Send comments on this topic. | Back to Introduction | Help Version 17.0.3.22
Run Method
See Also 
Leadtools.Multimedia Namespace > PlayCtrl Class : Run Method



Plays the current media source.

Syntax

Visual Basic (Declaration) 
Public Overridable Sub Run() 
Visual Basic (Usage)Copy Code
Dim instance As PlayCtrl
 
instance.Run()
C# 
public virtual void Run()
C++/CLI 
public:
virtual void Run(); 

Example

Visual BasicCopy Code
Public _result As Boolean = False
      Public _form As PlayCtrlForm = New PlayCtrlForm()
      Private _duration As Double = 0.0
      Private _currentPos As Double = -1
      Public Sub PlayExample()
         ' reference the play control
         Dim playctrl As PlayCtrl = _form.PlayCtrl

         ' input file
         Dim inFile As String = Path.Combine(LEAD_VARS.MediaDir, "PlayCtrl_Source.avi")

         Try
            ' set autostart to false
            playctrl.AutoStart = False

            ' set the play count to 2
            playctrl.PlayCount = 2

            ' set our source media file
            playctrl.SourceFile = inFile

            ' get the reported duration
            _duration = playctrl.Duration

            ' set the playback rate to 2x
            If playctrl.IsRateSupported(2.0) Then
               playctrl.Rate = 2.0
            End If

            ' set event handler to get tracking position changes
            AddHandler playctrl.TrackingPositionChanged, AddressOf PlayCtrl_TrackingPositionChanged

            ' run it!
            playctrl.Run()
         Catch e1 As Exception
            _result = False
         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.
         Do While playctrl.State = PlayState.Running
            Application.DoEvents()
         Loop

         ' set the result to determine if the reported duration
         ' is the same as the final position from tracking
         _result = (_duration = _currentPos AndAlso _duration > 0.0)
      End Sub

      Private Sub PlayCtrl_TrackingPositionChanged(ByVal sender As Object, ByVal e As TrackingPositionChangedEventArgs)
         ' get the frame and tracking positions for demonstration only
         Dim frame As Integer = _form.PlayCtrl.CurrentFramePosition
         Dim tracking As Integer = _form.PlayCtrl.CurrentTrackingPosition

         ' get the current position
         _currentPos = Math.Max(_currentPos, _form.PlayCtrl.CurrentPosition)
      End Sub

Public NotInheritable Class LEAD_VARS
   Public Const MediaDir As String = "C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 17\Media"
End Class
C#Copy Code
public bool _result = false;
      public PlayCtrlForm _form = new PlayCtrlForm();
      double _duration = 0.0;
      double _currentPos = -1;
      public void PlayExample()
      {
         // reference the play control
         PlayCtrl playctrl = _form.PlayCtrl;

         // input file
         string inFile =Path.Combine(LEAD_VARS.MediaDir,"PlayCtrl_Source.avi");

         try
         {
            // set autostart to false
            playctrl.AutoStart = false;

            // set the play count to 2
            playctrl.PlayCount = 2;

            // set our source media file
            playctrl.SourceFile = inFile;

            // get the reported duration
            _duration = playctrl.Duration;

            // set the playback rate to 2x
            if (playctrl.IsRateSupported(2.0))
               playctrl.Rate = 2.0;

            // set event handler to get tracking position changes
            playctrl.TrackingPositionChanged += new TrackingPositionChangedEventHandler(PlayCtrl_TrackingPositionChanged);

            // run it!
            playctrl.Run();
         }
         catch (Exception)
         {
            _result = false;
         }

         // 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();

         // set the result to determine if the reported duration
         // is the same as the final position from tracking
         _result = (_duration == _currentPos && _duration > 0.0);
      }

      void PlayCtrl_TrackingPositionChanged(object sender, TrackingPositionChangedEventArgs e)
      {
         // get the frame and tracking positions for demonstration only
         int frame = _form.PlayCtrl.CurrentFramePosition;
         int tracking = _form.PlayCtrl.CurrentTrackingPosition;

         // get the current position
         _currentPos = Math.Max(_currentPos, _form.PlayCtrl.CurrentPosition);
      }

static class LEAD_VARS
{
   public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 17\Media";
}

Remarks

Places the play control in the PlayState.Running state.

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7

See Also