Imports Leadtools
Imports Leadtools.Multimedia
Imports LeadtoolsMultimediaExamples.Fixtures
Public _result As Boolean = False
Public _form As CaptureCtrlForm = New CaptureCtrlForm()
Public Sub IsModeAvailableExample()
' reference the capture control
Dim capturectrl As CaptureCtrl = _form.CaptureCtrl
' output file for processor settings
Dim outFile As String = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_IsModeAvailableExample.avi")
Try
' try to find a USB camera
If capturectrl.VideoDevices("USB") Is Nothing Then
Throw New Exception("No USB video device available")
End If
capturectrl.VideoDevices("USB").Selected = True
' try to find a USB audio device
If capturectrl.AudioDevices("USB") Is Nothing Then
Throw New Exception("No USB audio device available")
End If
capturectrl.AudioDevices("USB").Selected = True
' set MPEG2 as the video compressor
capturectrl.VideoCompressors.Mpeg2.Selected = True
' set AC3 as the audio compressor
capturectrl.AudioCompressors.AC3.Selected = True
' set the target output file
capturectrl.TargetFile = outFile
' set the target output format
capturectrl.TargetFormat = TargetFormatType.AVI
' check if we have can capture video
If capturectrl.IsModeAvailable(CaptureMode.VideoAndAudio) Then
capturectrl.FrameRate = 5 ' 5 frames per second
capturectrl.UseFrameRate = True
capturectrl.TimeLimit = 10 ' just 10 seconds of capture time
capturectrl.UseTimeLimit = True
' check to see if we can preview compressed output
If capturectrl.IsPreviewTapSupported(CapturePreview.Video, CapturePreviewTap.Compressor) Then
' enable preview
capturectrl.Preview = True
' enable preview video
capturectrl.PreviewSource = CapturePreview.Video
' set the preview tap location
capturectrl.PreviewTap = CapturePreviewTap.Compressor
End If
' subscribe to the complete event
AddHandler capturectrl.Complete, AddressOf CaptureCtrl_Complete
' start the capture process
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
End If
Catch e1 As Exception
_result = False
End Try
End Sub
Private Sub CaptureCtrl_Complete(ByVal sender As Object, ByVal e As EventArgs)
_result = True
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 IsModeAvailableExample()
{
// reference the capture control
CaptureCtrl capturectrl = _form.CaptureCtrl;
// output file for processor settings
string outFile = Path.Combine(LEAD_VARS.MediaDir,"CaptureCtrl_IsModeAvailableExample.avi");
try
{
// try to find a USB camera
if (capturectrl.VideoDevices["USB"] == null)
throw new Exception("No USB video device available");
capturectrl.VideoDevices["USB"].Selected = true;
// try to find a USB audio device
if (capturectrl.AudioDevices["USB"] == null)
throw new Exception("No USB audio device available");
capturectrl.AudioDevices["USB"].Selected = true;
// set MPEG2 as the video compressor
capturectrl.VideoCompressors.Mpeg2.Selected = true;
// set AC3 as the audio compressor
capturectrl.AudioCompressors.AC3.Selected = true;
// set the target output file
capturectrl.TargetFile = outFile;
// set the target output format
capturectrl.TargetFormat = TargetFormatType.AVI;
// check whether we can capture video
if (capturectrl.IsModeAvailable(CaptureMode.VideoAndAudio))
{
capturectrl.FrameRate = 5; // 5 frames per second
capturectrl.UseFrameRate = true;
capturectrl.TimeLimit = 10; // just 10 seconds of capture time
capturectrl.UseTimeLimit = true;
// check to see if we can preview compressed output
if (capturectrl.IsPreviewTapSupported(CapturePreview.Video, CapturePreviewTap.Compressor))
{
// enable preview
capturectrl.Preview = true;
// enable preview video
capturectrl.PreviewSource = CapturePreview.Video;
// set the preview tap location
capturectrl.PreviewTap = CapturePreviewTap.Compressor;
}
// subscribe to the complete event
capturectrl.Complete += new EventHandler(CaptureCtrl_Complete);
// start the capture process
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();
}
}
catch (Exception)
{
_result = false;
}
}
void CaptureCtrl_Complete(object sender, EventArgs e)
{
_result = true;
}
static class LEAD_VARS
{
public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 18\Media";
}