Sets the 
Mode property to VCRControlMode.Record. 
             
             
            
 Syntax
Syntax
| Visual Basic (Declaration) |  | 
|---|
| Public Sub Record()  | 
| Visual Basic (Usage) |  Copy Code | 
|---|
| Dim instance As VCRControl
 
instance.Record() | 
| C++/CLI |  | 
|---|
| public:
void Record();  | 
 Example
Example
 
             | Visual Basic |  Copy Code | 
|---|
| Public _result As Boolean = False
    Public _form As ConvertCtrlForm = New ConvertCtrlForm()
    Public _convertctrl As ConvertCtrl
    Public _testing As Boolean
    Public _startTimeCode As Integer
    Public _stopTimeCode As Integer
    Public Sub ReadTimecodeExample()
      ' reference the convert control
      _convertctrl = _form.ConvertCtrl
      ' input file
                Dim inFile As String = Path.Combine(LEAD_VARS.MediaDir, "ConvertCtrl_Source.avi")
      Try
         ' check to see if we have the desired target device
         If _convertctrl.TargetDevices("Microsoft DV Camera and VCR") Is Nothing Then
           Throw New Exception("No Microsoft DV Camera target devices available!")
         End If
         ' set the video capture device, use your capture device name here
         _convertctrl.SourceFile = inFile
         ' select video and audio compressors to none
         _convertctrl.VideoCompressors.Uncompressed.Selected = True
         _convertctrl.AudioCompressors.Uncompressed.Selected = True
         ' select the target format
         _convertctrl.TargetFormats(TargetFormatType.DVSD).Selected = True
         ' select only Audio for this example
         _convertctrl.AllowedStreams = StreamFormatType.AudioVideo
         ' set a target device
         _convertctrl.TargetDevices("Microsoft DV Camera and VCR").Selected = True
         ' check the target device VCRControl 
         If _convertctrl.TargetVCRControl Is Nothing OrElse (_convertctrl.TargetVCRControl.DeviceType = VCRControlDeviceType.NotPresent OrElse _convertctrl.TargetVCRControl.DeviceType = VCRControlDeviceType.Unknown) Then
           Throw New Exception("MS DV Camera's Target VCR control is not present!")
         End If
         ' subscribe to convert control events for VCR control input
         AddHandler _convertctrl.Started, AddressOf ConvertCtrl_Started
         AddHandler _convertctrl.Complete, AddressOf ConvertCtrl_Complete
         AddHandler _convertctrl.Progress, AddressOf ConvertCtrl_Progress
         AddHandler _convertctrl.KeyPress, AddressOf ConvertCtrl_KeyPress
            ' start the conversion
         _convertctrl.StartConvert()
      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 _convertctrl.State = ConvertState.Running
         Application.DoEvents()
      Loop
      ' switch to playback and test
      _testing = True
      ' again, we'll loop and pump messages for this example for 
      ' playback testing, (setting _testing == true will exit)
      Do While _testing
         Application.DoEvents()
      Loop
    End Sub
    Private Sub ConvertCtrl_Started(ByVal sender As Object, ByVal e As EventArgs)
      ' start recording
      If _convertctrl.TargetVCRControl.Mode <> VCRControlMode.Record Then
         ' pause the graph to prevent frame loss
         _convertctrl.PauseConvert()
         ' start the record on the VCR control
         _convertctrl.TargetVCRControl.Record()
         ' resume graph now
         _convertctrl.RunConvert()
      End If
      ' get our VCR start timecode
      _startTimeCode = _convertctrl.TargetVCRControl.ReadTimecode()
    End Sub
    Private Sub ConvertCtrl_Complete(ByVal sender As Object, ByVal e As EventArgs)
      ' stop recording
      If _convertctrl.TargetVCRControl.Mode <> VCRControlMode.Stop Then
         _convertctrl.TargetVCRControl.Stop()
      End If
      ' get our VCR start timecode
      _stopTimeCode = _convertctrl.TargetVCRControl.ReadTimecode()
      ' set the result to what we expect
      _result = (_stopTimeCode > _startTimeCode)
    End Sub
    Private Sub ConvertCtrl_KeyPress(ByVal sender As Object, ByVal e As Leadtools.Multimedia.KeyPressEventArgs)
      ' if ok to perform playback functions 
      If _testing AndAlso Not _convertctrl.TargetVCRControl Is Nothing Then
         ' reference the target VCR control
         Dim vcr As VCRControl = _convertctrl.TargetVCRControl
            Select Case e.keyAscii
               Case CShort("*")
                  ' seek to the beginning of the capture 
                  If vcr.Mode <> VCRControlMode.Stop Then
                     vcr.Stop()
                  End If
                  vcr.SeekTimecode(_startTimeCode)
               Case CShort("~")
                  ' seek to the end of the capture
                  If vcr.Mode <> VCRControlMode.Stop Then
                     vcr.Stop()
                  End If
                  vcr.SeekTimecode(_stopTimeCode)
               Case CShort("p")
                  ' start playback
                  If vcr.Mode <> VCRControlMode.Play Then
                     vcr.Play()
                  End If
               Case CShort("s")
                  ' skip ahead 1000 units from the current timecode 
                  vcr.Pause()
                  Dim tc As Integer = vcr.ReadTimecode()
                  vcr.SeekTimecode(tc + 1000)
                  vcr.Play()
               Case CShort("+")
                  ' step forward one frame
                  If vcr.Mode <> VCRControlMode.Pause Then
                     vcr.Pause()
                  End If
                  vcr.StepForward()
               Case CShort("-")
                  ' step backward one frame
                  If vcr.Mode <> VCRControlMode.Pause Then
                     vcr.Pause()
                  End If
                  vcr.StepBackward()
               Case CShort("f")
                  ' slowest forward
                  vcr.SlowestForward()
               Case CShort("r")
                  ' slowest reverse
                  vcr.SlowestReverse()
               Case CShort(">")
                  ' fastest forward
                  vcr.FastestForward()
               Case CShort("<")
                  ' fastest reverse
                  vcr.FastestReverse()
               Case CShort("x")
                  ' stop playback and exit
                  If vcr.Mode <> VCRControlMode.Stop Then
                     vcr.Stop()
                  End If
                  _testing = False
            End Select
      End If
    End Sub
    Private Sub ConvertCtrl_Progress(ByVal sender As Object, ByVal e As ProgressEventArgs)
      If Not _convertctrl.TargetVCRControl Is Nothing Then
         ' reference the VCR control
         Dim vcr As VCRControl = _convertctrl.TargetVCRControl
         ' get the current time code
         Dim timeCode As Integer = vcr.ReadTimecode()
      End If
    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 ConvertCtrlForm _form = new ConvertCtrlForm();
      public ConvertCtrl _convertctrl;
      public bool _testing;
      public int _startTimeCode;
      public int _stopTimeCode;
      public void ReadTimecodeExample()
      {
         // reference the convert control
         _convertctrl = _form.ConvertCtrl;
         // input file
         string inFile =Path.Combine(LEAD_VARS.MediaDir, "ConvertCtrl_Source.avi");
         try
         {
            // check to see if we have the desired target device
            if (_convertctrl.TargetDevices["Microsoft DV Camera and VCR"] == null)
               throw new Exception("No Microsoft DV Camera target devices available!");
            // set the video capture device, use your capture device name here
            _convertctrl.SourceFile = inFile;
            // select video and audio compressors to none
            _convertctrl.VideoCompressors.Uncompressed.Selected = true;
            _convertctrl.AudioCompressors.Uncompressed.Selected = true;
            // select the target format
            _convertctrl.TargetFormats[TargetFormatType.DVSD].Selected = true;
            // select only Audio for this example
            _convertctrl.AllowedStreams = StreamFormatType.AudioVideo;
            // set a target device
            _convertctrl.TargetDevices["Microsoft DV Camera and VCR"].Selected = true;
            // check the target device VCRControl 
            if (_convertctrl.TargetVCRControl == null
               || (_convertctrl.TargetVCRControl.DeviceType == VCRControlDeviceType.NotPresent
                  || _convertctrl.TargetVCRControl.DeviceType == VCRControlDeviceType.Unknown))
               throw new Exception("MS DV Camera's Target VCR control is not present!");
            // subscribe to convert control events for VCR control input
            _convertctrl.Started += new EventHandler(ConvertCtrl_Started);
            _convertctrl.Complete += new EventHandler(ConvertCtrl_Complete);
            _convertctrl.Progress += new ProgressEventHandler(ConvertCtrl_Progress);
            _convertctrl.KeyPress += new Leadtools.Multimedia.KeyPressEventHandler(ConvertCtrl_KeyPress);
            // start the conversion
            _convertctrl.StartConvert();
         }
         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 (_convertctrl.State == ConvertState.Running)
            Application.DoEvents();
         // switch to playback and test
         _testing = true;
         // again, we'll loop and pump messages for this example for 
         // playback testing, (setting _testing == true will exit)
         while (_testing)
            Application.DoEvents();
      }
      void ConvertCtrl_Started(object sender, EventArgs e)
      {
         // start recording
         if (_convertctrl.TargetVCRControl.Mode != VCRControlMode.Record)
         {
            // pause the graph to prevent frame loss
            _convertctrl.PauseConvert();
            // start the record on the VCR control
            _convertctrl.TargetVCRControl.Record();
            // resume graph now
            _convertctrl.RunConvert();
         }
         // get our VCR start timecode
         _startTimeCode = _convertctrl.TargetVCRControl.ReadTimecode();
      }
      void ConvertCtrl_Complete(object sender, EventArgs e)
      {
         // stop recording
         if (_convertctrl.TargetVCRControl.Mode != VCRControlMode.Stop)
            _convertctrl.TargetVCRControl.Stop();
         // get our VCR start timecode
         _stopTimeCode = _convertctrl.TargetVCRControl.ReadTimecode();
         // set the result to what we expect
         _result = (_stopTimeCode > _startTimeCode);
      }
      void ConvertCtrl_KeyPress(object sender, Leadtools.Multimedia.KeyPressEventArgs e)
      {
         // if ok to perform playback functions 
         if (_testing && _convertctrl.TargetVCRControl != null)
         {
            // reference the target VCR control
            VCRControl vcr = _convertctrl.TargetVCRControl;
            switch ((char)e.keyAscii)
            {
               case '*':
                  // seek to the beginning of the capture 
                  if (vcr.Mode != VCRControlMode.Stop)
                     vcr.Stop();
                  vcr.SeekTimecode(_startTimeCode);
                  break;
               case '~':
                  // seek to the end of the capture
                  if (vcr.Mode != VCRControlMode.Stop)
                     vcr.Stop();
                  vcr.SeekTimecode(_stopTimeCode);
                  break;
               case 'p':
                  // start playback
                  if (vcr.Mode != VCRControlMode.Play)
                     vcr.Play();
                  break;
               case 's':
                  // skip ahead 1000 units from the current timecode 
                  vcr.Pause();
                  int tc = vcr.ReadTimecode();
                  vcr.SeekTimecode(tc + 1000);
                  vcr.Play();
                  break;
               case '+':
                  // step forward one frame
                  if (vcr.Mode != VCRControlMode.Pause)
                     vcr.Pause();
                  vcr.StepForward();
                  break;
               case '-':
                  // step backward one frame
                  if (vcr.Mode != VCRControlMode.Pause)
                     vcr.Pause();
                  vcr.StepBackward();
                  break;
               case 'f':
                  // slowest forward
                  vcr.SlowestForward();
                  break;
               case 'r':
                  // slowest reverse
                  vcr.SlowestReverse();
                  break;
               case '>':
                  // fastest forward
                  vcr.FastestForward();
                  break;
               case '<':
                  // fastest reverse
                  vcr.FastestReverse();
                  break;
               case 'x':
                  // stop playback and exit
                  if (vcr.Mode != VCRControlMode.Stop)
                     vcr.Stop();
                  _testing = false;
                  break;
            }
         }
      }
      void ConvertCtrl_Progress(object sender, ProgressEventArgs e)
      {
         if (_convertctrl.TargetVCRControl != null)
         {
            // reference the VCR control
            VCRControl vcr = _convertctrl.TargetVCRControl;
            // get the current time code
            int timeCode = vcr.ReadTimecode();
         }
      }
static class LEAD_VARS
{
   public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 17\Media";
} | 
  
            
            Remarks
             Requirements
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
See Also