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

SourceFile Property (PlayCtrl)

Example 





Gets or sets the media source filename, URL or UDP address.
Syntax
public virtual string SourceFile {get; set;}
'Declaration
 
Public Overridable Property SourceFile As String
'Usage
 
Dim instance As PlayCtrl
Dim value As String
 
instance.SourceFile = value
 
value = instance.SourceFile
public virtual string SourceFile {get; set;}
 get_SourceFile();
set_SourceFile(value);
public:
virtual property String^ SourceFile {
   String^ get();
   void set (    String^ value);
}

Property Value

A string value representing the source filename.
Remarks
Use this property to set the media source to the specified filename, URL or UDP address. The SourceType will be set to SourceObjectType.File. The filename can be used to indicate a regular file or a network stream. For more details on filename syntax, refer to Source File syntax. Assignment can raise an error exception. 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
ResetSource Method

 

 


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