Leadtools.Multimedia Namespace > PlayCtrl Class : TrackingSelectionStart Property |
public virtual int TrackingSelectionStart {get;}
Imports Leadtools Imports Leadtools.Multimedia Imports LeadtoolsMultimediaExamples.Fixtures 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 18\Media" End Class
using Leadtools; using Leadtools.Multimedia; using LeadtoolsMultimediaExamples.Fixtures; 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 18\Media"; }
Products | Support | Contact Us | Copyright Notices