Imports Leadtools
Imports Leadtools.Multimedia
Imports LeadtoolsMultimediaExamples.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.avi")
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
' use the video capture device's audio
capturectrl.UseVideoDeviceAudio = 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
' set the video and audio compressors
capturectrl.VideoCompressors.Mpeg2.Selected = True
capturectrl.AudioCompressors.AC3.Selected = True
' check if we have can capture video
If capturectrl.IsModeAvailable(CaptureMode.VideoAndAudio) Then
' set the target format
capturectrl.TargetFormat = TargetFormatType.AVI
capturectrl.TimeLimit = 10 ' just 10 seconds of capture time
capturectrl.UseTimeLimit = True
' select the video subtype
capturectrl.VideoCaptureSubTypes(Leadtools.Multimedia.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 18\Media"
End Class
using Leadtools;
using Leadtools.Multimedia;
using LeadtoolsMultimediaExamples.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.avi");
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;
// use the video capture device's audio
capturectrl.UseVideoDeviceAudio = true;
// get the TV Tuner device
TVTuner tvtuner = capturectrl.TVTuner;
// check whether the 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;
// set the video and audio compressors
capturectrl.VideoCompressors.Mpeg2.Selected = true;
capturectrl.AudioCompressors.AC3.Selected = true;
// check whether we can capture video
if (capturectrl.IsModeAvailable(CaptureMode.VideoAndAudio))
{
// set the target format
capturectrl.TargetFormat = TargetFormatType.AVI;
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 18\Media";
}