Imports Leadtools
Imports Leadtools.MediaFoundation
Imports LeadtoolsMediaFoundationExamples.Fixtures
Public _result As Boolean = False
Public _form As CaptureCtrlForm = New CaptureCtrlForm()
Public Sub AnalogTVTunerExample()
   ' reference the forms capture control and tv tuner
   Dim capturectrl As CaptureCtrl = _form.CaptureCtrl
   Dim outFile As String = Path.Combine(LEAD_VARS.MediaDir, "TVTuner_AnalogTVTunerExample.wmv")
   Dim testChan As Integer = 6
   Dim channel As Integer
   Try
      ' select the first device with analog in it's name
      ' Replace "Analog" with your video capture device name
      If capturectrl.VideoDevices("Analog") Is Nothing Then
         Throw New Exception("No Analog video devices available!")
      End If
      capturectrl.VideoDevices("Analog").Selected = True
      ' get the TV Tuner device
      Dim tvtuner As TVTuner = capturectrl.TVTuner
      ' Check if TV tuner is valid
      If Not tvtuner Is Nothing Then
         ' set the input type to cable and set the channel
         tvtuner.SetInputType(0, TunerInputType.Cable)
         tvtuner.SetChannel(testChan, -1, -1)
         ' get the Video and Audio frequency
         Dim vidFreq As Integer = tvtuner.VideoFrequency
         Dim audFreq As Integer = tvtuner.AudioFrequency
      End If
      ' set the output file
      capturectrl.TargetFile = outFile
      ' check if we have can capture video
      If capturectrl.IsModeAvailable(CaptureMode.VideoAndAudio) Then
         ' set the target format
         capturectrl.TargetFormat = TargetFormatType.WMV
         capturectrl.TimeLimit = 10 ' just 10 seconds of capture time
         capturectrl.UseTimeLimit = True
         ' select the video subtype
         capturectrl.VideoCaptureSubTypes(Leadtools.MediaFoundation.Constants.MEDIASUBTYPE_YUY2).Selected = True
         ' start the capture
         capturectrl.StartCapture(CaptureMode.VideoAndAudio)
         ' 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 capturectrl.State = CaptureState.Running
            Application.DoEvents()
         Loop
         ' if TV tuner is valid
         If Not tvtuner Is Nothing Then
            ' check the channel
            channel = tvtuner.Channel
            ' and set the result to what we expect
            _result = (channel = testChan)
         End If
      End If
   Catch e1 As Exception
      _result = False
   End Try
End Sub
Public NotInheritable Class LEAD_VARS
Public Const MediaDir As String = "C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 19\Media"
End Class
             
   
     
            using Leadtools;
using Leadtools.MediaFoundation;
using LeadtoolsMediaFoundationExamples.Fixtures;
public bool _result = false;
public CaptureCtrlForm _form = new CaptureCtrlForm();
public void AnalogTVTunerExample()
{
   // reference the forms capture control and tv tuner
   CaptureCtrl capturectrl = _form.CaptureCtrl;
   string outFile =Path.Combine(LEAD_VARS.MediaDir,"TVTuner_AnalogTVTunerExample.wmv");
   int testChan = 6;
   int channel;
   try
   {
      // select the first device with analog in it's name
      // Replace "Analog" with your video capture device name
      if (capturectrl.VideoDevices["Analog"] == null)
         throw new Exception("No Analog video devices available!");
      capturectrl.VideoDevices["Analog"].Selected = true;
      // get the TV Tuner device
      TVTuner tvtuner = capturectrl.TVTuner;
      // Check if TV tuner is valid
      if (tvtuner != null)
      {
         // set the input type to cable and set the channel
         tvtuner.SetInputType(0, TunerInputType.Cable);
         tvtuner.SetChannel(testChan, -1, -1);
         // get the Video and Audio frequency
         int vidFreq = tvtuner.VideoFrequency;
         int audFreq = tvtuner.AudioFrequency;
      }
      // set the output file
      capturectrl.TargetFile = outFile;
      // check if we have can capture video
      if (capturectrl.IsModeAvailable(CaptureMode.VideoAndAudio))
      {
         // set the target format
         capturectrl.TargetFormat = TargetFormatType.WMV;
         capturectrl.TimeLimit = 10;     // just 10 seconds of capture time
         capturectrl.UseTimeLimit = true;
         // select the video subtype
         capturectrl.VideoCaptureSubTypes[Constants.MEDIASUBTYPE_YUY2].Selected = true;
         // start the capture
         capturectrl.StartCapture(CaptureMode.VideoAndAudio);
         // 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 (capturectrl.State == CaptureState.Running)
            Application.DoEvents();
         // if TV tuner is valid
         if (tvtuner != null)
         {
            // check the channel
            channel = tvtuner.Channel;
            // and set the result to what we expect
            _result = (channel == testChan);
         }
      }
   }
   catch (Exception)
   {
      _result = false;
   }
}
static class LEAD_VARS
{
public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 19\Media";
}