LEADTOOLS Multimedia (Leadtools.Multimedia assembly)
LEAD Technologies, Inc

ResetSource Method (PlayCtrl)

Example 





Resets the media source.
Syntax
public virtual void ResetSource()
'Declaration
 
Public Overridable Sub ResetSource() 
'Usage
 
Dim instance As PlayCtrl
 
instance.ResetSource()
public virtual void ResetSource()
 function Leadtools.Multimedia.PlayCtrl.ResetSource()
public:
virtual void ResetSource(); 
Remarks
Resets the media source to the default value of SourceObjectType.None. Call this method to remove a media source reference. If the method fails, an error is raised. For more information, refer to the Error Codes.
Example
Copy CodeCopy Code  
Public _result As Boolean = False
      Public _form As PlayCtrlForm = New PlayCtrlForm()
      Public _playctrl As PlayCtrl
      Public _seekingCaps As PlaySeeking
      Public _start As TimeSpan = TimeSpan.Zero
      Public Sub HasDialogExample()
         ' reference the play control
         _playctrl = _form.PlayCtrl

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

         Try
            ' turn off autostart and auto rewind
            _playctrl.AutoStart = False
            _playctrl.AutoRewind = False

            ' set the source file
            _playctrl.SourceFile = inFile

            ' show some media info if available
            ShowMediaInfo()

            ' the HasDialog method tells us that the control
            ' can display the desired settings dialog.
            ' check to see if the video renderer properties dialog is available
            If _playctrl.HasDialog(PlayDlg.VideoRenderer) Then
               ' now show it to change some settings
               _playctrl.ShowDialog(PlayDlg.VideoRenderer, _form)
               _result = True
            End If

            ' get the source object type
            Dim sot As SourceObjectType = _playctrl.SourceType

            ' check some audio properties
            Dim mute As Boolean = _playctrl.Mute
            Dim bal As Integer = _playctrl.Balance
            Dim vol As Integer = _playctrl.Volume

            ' seeking caps - you can use these to enable menu states or toolbar buttons
            _seekingCaps = _playctrl.CheckSeekingCapabilities(PlaySeeking.Forward Or PlaySeeking.Backward)

            ' subscribe to the key press event to demo play functions
            AddHandler _playctrl.KeyPress, AddressOf PlayCtrl_KeyPress

            ' start the capture process
            _playctrl.Run()

            ' 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 _
                      OrElse _playctrl.State = PlayState.Paused _
                      OrElse _playctrl.State = PlayState.NotReady
                     Application.DoEvents()
                 Loop

            ' call reset source here to release resources
            ' but not necessary if we are just exiting
            _playctrl.ResetSource()
         Catch e1 As Exception
            _result = False
         End Try
      End Sub

      ' state variables for helper timer states
      Public _markedSelStart As Boolean = False
      Public _markedSelEnd As Boolean = False
      Public _seekedSelStart As Boolean = False
      Public _seekedSelEnd As Boolean = False

      ' key press event handler to manage playback functions
      Private Sub PlayCtrl_KeyPress(ByVal sender As Object, ByVal e As Leadtools.Multimedia.KeyPressEventArgs)
         Dim key As Char = CChar(ChrW(e.keyAscii))
         Select Case key
            Case "b"c
               If (Not _markedSelStart) Then
                  _markedSelStart = True
                  _playctrl.MarkSelectionStart()
                  System.Diagnostics.Debug.WriteLine("Mark Selection Start: " & _playctrl.SelectionStart.ToString() & " secs")
                  System.Diagnostics.Debug.WriteLine("  ... playctrl.State: " & _playctrl.State.ToString())
               End If
            Case "e"c
               If (Not _markedSelEnd) Then
                  _markedSelEnd = True
                  _playctrl.Pause()
                  _playctrl.MarkSelectionEnd()
                  System.Diagnostics.Debug.WriteLine("Mark Selection End: " & _playctrl.SelectionEnd.ToString() & " secs")
                  System.Diagnostics.Debug.WriteLine("  ... playctrl.State: " & _playctrl.State.ToString())
                  _playctrl.SeekSelectionStart()
                  _playctrl.Run()
               End If
            Case "s"c
               If (Not _seekedSelStart) Then
                  _seekedSelStart = True
                  System.Diagnostics.Debug.WriteLine("Seek To Selection Start: " & _playctrl.SelectionStart.ToString() & " secs")
                  System.Diagnostics.Debug.WriteLine("  ... playctrl.State: " & _playctrl.State.ToString())
                  _playctrl.SeekSelectionStart()
               End If
            Case "f"c
               ' toggle full screen
               _playctrl.ToggleFullScreenMode()
            Case "+"c
               If _playctrl.State = PlayState.Running Then
                  _playctrl.Pause()
               End If

               _playctrl.NextFrame()
            Case "-"c
               If _playctrl.State = PlayState.Running Then
                  _playctrl.Pause()
               End If

               _playctrl.PreviousFrame()
            Case "z"c
               If (Not _seekedSelEnd) Then
                  ' turn off full screen mode
                  _playctrl.FullScreenMode = False

                  _seekedSelEnd = True
                  System.Diagnostics.Debug.WriteLine("Seek To Selection End: " & _playctrl.SelectionEnd.ToString() & " secs")
                  System.Diagnostics.Debug.WriteLine("  ... playctrl.State: " & _playctrl.State.ToString())
                  _playctrl.SeekSelectionEnd()
               End If
            Case "x"c
               _playctrl.Stop()

         End Select
      End Sub

      Private Sub ShowMediaInfo()
         Dim d As Double = 0
         Dim sa, scr, sd, sr, st As String

         sa = "Unavailable"
         scr = "Unavailable"
         sd = "Unavailable"
         sr = "Unavailable"
         st = "Unavailable"

         Try
            d = _playctrl.FrameDuration
            sa = _playctrl.Author
            scr = _playctrl.Copyright
            sd = _playctrl.Description
            sr = _playctrl.Rating
            st = _playctrl.Title
         Catch e1 As Exception
         End Try

             MessageBox.Show(_form, String.Format("Duration: {0}" _
                                                  & Microsoft.VisualBasic.Constants.vbLf _
                                                  & "Author: {1}" _
                                                  & Microsoft.VisualBasic.Constants.vbLf _
                                                  & "Copyright: {2}" _
                                                  & Microsoft.VisualBasic.Constants.vbLf _
                                                  & "Desc: {3}" & Microsoft.VisualBasic.Constants.vbLf _
                                                  & "Rating: {4}" & Microsoft.VisualBasic.Constants.vbLf _
                                                  & "Title: {5}" _
                                                  & Microsoft.VisualBasic.Constants.vbLf, _
                                                  d, sa, scr, sd, sr, st), "Media Info")
      End Sub

      Private Sub SelectedOptions()
         _playctrl.SeekStart()
         _playctrl.SeekEnd()
         Dim te As Integer = _playctrl.TrackingSelectionEnd
         Dim ts As Integer = _playctrl.TrackingSelectionStart
         Dim se As Double = _playctrl.SelectionEnd
         Dim ss As Double = _playctrl.SelectionStart
      End Sub

Public NotInheritable Class LEAD_VARS
   Public Const MediaDir As String = "C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 175\Media";
End Class
public bool _result = false;
      public PlayCtrlForm _form = new PlayCtrlForm();
      public PlayCtrl _playctrl;
      public PlaySeeking _seekingCaps;
      public TimeSpan _start = TimeSpan.Zero;
      public void HasDialogExample()
      {
         // reference the play control
         _playctrl = _form.PlayCtrl;

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

         try
         {
            // turn off autostart and auto rewind
            _playctrl.AutoStart = false;
            _playctrl.AutoRewind = false;

            // set the source file
            _playctrl.SourceFile = inFile;

            // show some media info if available
            ShowMediaInfo();

            // the HasDialog method tells us that the control
            // can display the desired settings dialog.
            // check to see if the video renderer properties dialog is available
            if (_playctrl.HasDialog(PlayDlg.VideoRenderer))
            {
               // now show it to change some settings
               _playctrl.ShowDialog(PlayDlg.VideoRenderer, _form);
               _result = true;
            }

            // get the source object type
            SourceObjectType sot = _playctrl.SourceType;

            // check some audio properties
            bool mute = _playctrl.Mute;
            int bal = _playctrl.Balance;
            int vol = _playctrl.Volume;

            // seeking caps - you can use these to enable menu states or toolbar buttons
            _seekingCaps = _playctrl.CheckSeekingCapabilities(PlaySeeking.Forward | PlaySeeking.Backward);

            // subscribe to the key press event to demo play functions
            _playctrl.KeyPress += new Leadtools.Multimedia.KeyPressEventHandler(PlayCtrl_KeyPress);

            // start the capture process
            _playctrl.Run();

            // 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
               || _playctrl.State == PlayState.Paused
               || _playctrl.State == PlayState.NotReady)
               Application.DoEvents();

            // call reset source here to release resources
            // but not necessary if we are just exiting
            _playctrl.ResetSource();
         }
         catch (Exception)
         {
            _result = false;
         }
      }

      // state variables for helper timer states
      public bool _markedSelStart = false;
      public bool _markedSelEnd = false;
      public bool _seekedSelStart = false;
      public bool _seekedSelEnd = false;

      // key press event handler to manage playback functions
      void PlayCtrl_KeyPress(object sender, Leadtools.Multimedia.KeyPressEventArgs e)
      {
         char key = (char)e.keyAscii;
         switch (key)
         {
            case 'b':
               if (!_markedSelStart)
               {
                  _markedSelStart = true;
                  _playctrl.MarkSelectionStart();
                  System.Diagnostics.Debug.WriteLine("Mark Selection Start: " + _playctrl.SelectionStart.ToString() + " secs");
                  System.Diagnostics.Debug.WriteLine("  ... playctrl.State: " + _playctrl.State.ToString());
               }
               break;
            case 'e':
               if (!_markedSelEnd)
               {
                  _markedSelEnd = true;
                  _playctrl.Pause();
                  _playctrl.MarkSelectionEnd();
                  System.Diagnostics.Debug.WriteLine("Mark Selection End: " 
                                                     + _playctrl.SelectionEnd.ToString() 
                                                     + " secs");
                  System.Diagnostics.Debug.WriteLine("  ... playctrl.State: " 
                                                     + _playctrl.State.ToString());
                  _playctrl.SeekSelectionStart();
                  _playctrl.Run();
               }
               break;
            case 's':
               if (!_seekedSelStart)
               {
                  _seekedSelStart = true;
                  System.Diagnostics.Debug.WriteLine("Seek To Selection Start: " 
                                                     + _playctrl.SelectionStart.ToString() 
                                                     + " secs");
                  System.Diagnostics.Debug.WriteLine("  ... playctrl.State: " 
                                                     + _playctrl.State.ToString());
                  _playctrl.SeekSelectionStart();
               }
               break;
            case 'f':
               // toggle full screen
               _playctrl.ToggleFullScreenMode();
               break;
            case '+':
               if (_playctrl.State == PlayState.Running)
                  _playctrl.Pause();

               _playctrl.NextFrame();
               break;
            case '-':
               if (_playctrl.State == PlayState.Running)
                  _playctrl.Pause();

               _playctrl.PreviousFrame();
               break;
            case 'z':
               if (!_seekedSelEnd)
               {
                  // turn off full screen mode
                  _playctrl.FullScreenMode = false;

                  _seekedSelEnd = true;
                  System.Diagnostics.Debug.WriteLine("Seek To Selection End: " 
                                                     + _playctrl.SelectionEnd.ToString() 
                                                     + " secs");
                  System.Diagnostics.Debug.WriteLine("  ... playctrl.State: " 
                                                     + _playctrl.State.ToString());
                  _playctrl.SeekSelectionEnd();
               }
               break;
            case 'x':
               _playctrl.Stop();
               break;

         }
      }

      private void ShowMediaInfo()
      {
         double d = 0;
         string sa, scr, sd, sr, st;

         sa = scr = sd = sr = st = "Unavailable";

         try
         {
            d = _playctrl.FrameDuration;
            sa = _playctrl.Author;
            scr = _playctrl.Copyright;
            sd = _playctrl.Description;
            sr = _playctrl.Rating;
            st = _playctrl.Title;
         }
         catch (Exception)
         {
         }

         MessageBox.Show(_form, string.Format("Duration: {0}\nAuthor: {1}\nCopyright: {2}\nDesc: {3}\nRating: {4}\nTitle: {5}\n",
            d, sa, scr, sd, sr, st), "Media Info");
      }

      void SelectedOptions()
      {
         _playctrl.SeekStart();
         _playctrl.SeekEnd();
         int te = _playctrl.TrackingSelectionEnd;
         int ts = _playctrl.TrackingSelectionStart;
         double se = _playctrl.SelectionEnd;
         double ss = _playctrl.SelectionStart;
      }

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

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

PlayCtrl Class
PlayCtrl Members

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.

Leadtools.Multimedia requires a Multimedia or Multimedia Suite license and unlock key. For more information, refer to: LEADTOOLS Toolkit Features