Imports Leadtools
Imports Leadtools.MediaFoundation
Imports LeadtoolsMediaFoundationExamples.Fixtures
Public _result As Boolean = False
Public _form As New CaptureCtrlForm()
Public _capturectrl As CaptureCtrl
Public _totalTime As Double
Public Sub ErrorAbortExample()
' reference the capture control
_capturectrl = _form.CaptureCtrl
' output file
Dim outFile As String = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_ErrorAbortTest.avi")
Try
' set a test timer to interrupt the capture
_form.TestTimer.Interval = 5000
AddHandler _form.TestTimer.Tick, AddressOf TestTimer_Tick
_form.TestTimer.Start()
' initialize the total capture time
_totalTime = 0
' subscribe to the ErrorAbort event
AddHandler _capturectrl.ErrorAbort, AddressOf CaptureCtrl_ErrorAbort
' subscribe to the event
AddHandler _capturectrl.Progress, AddressOf CaptureCtrl_Progress
' set a video device, use the name of your device here
If _capturectrl.VideoDevices("USB") Is Nothing Then
Throw New Exception("No USB video device available")
End If
_capturectrl.VideoDevices("USB").Selected = True
' set an audio device, use the name of your device here
_capturectrl.AudioDevices("USB").Selected = True
' set the target output file
_capturectrl.TargetFile = outFile
' only 10 seconds of capture time
_capturectrl.TimeLimit = 10
_capturectrl.UseTimeLimit = True
' capture it now!
_capturectrl.StartCapture(CaptureMode.AutoFramesAndAudio)
Catch generatedExceptionName 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.
While _capturectrl.State = CaptureState.Running
Application.DoEvents()
End While
End Sub
Public Sub TestTimer_Tick(ByVal sender As Object, ByVal e As EventArgs)
' stop the capture
_capturectrl.StopCapture()
End Sub
Public Sub CaptureCtrl_Progress(ByVal sender As Object, ByVal e As ProgressEventArgs)
_totalTime = _capturectrl.CaptureTime
End Sub
Public Sub CaptureCtrl_ErrorAbort(ByVal sender As Object, ByVal e As ErrorAbortEventArgs)
' set result
_result = True
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 CaptureCtrl _capturectrl;
public double _totalTime;
public void ErrorAbortExample()
{
// reference the capture control
_capturectrl = _form.CaptureCtrl;
// output file
string outFile = Path.Combine(LEAD_VARS.MediaDir,"CaptureCtrl_ErrorAbortTest.avi");
try
{
// set a test timer to interrupt the capture
_form.TestTimer.Interval = 5000;
_form.TestTimer.Tick += new EventHandler(TestTimer_Tick);
_form.TestTimer.Start();
// initialize the total capture time
_totalTime = 0;
// subscribe to the ErrorAbort event
_capturectrl.ErrorAbort += new ErrorAbortEventHandler(CaptureCtrl_ErrorAbort);
// subscribe to the event
_capturectrl.Progress += new ProgressEventHandler(CaptureCtrl_Progress);
// set a video device, use the name of your device here
if (_capturectrl.VideoDevices["USB"] == null)
throw new Exception("No USB video device available");
_capturectrl.VideoDevices["USB"].Selected = true;
// set an audio device, use the name of your device here
_capturectrl.AudioDevices["USB"].Selected = true;
// set the target output file
_capturectrl.TargetFile = outFile;
// only 10 seconds of capture time
_capturectrl.TimeLimit = 10;
_capturectrl.UseTimeLimit = true;
// capture it now!
_capturectrl.StartCapture(CaptureMode.AutoFramesAndAudio);
}
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 (_capturectrl.State == CaptureState.Running)
Application.DoEvents();
}
public void TestTimer_Tick(object sender, EventArgs e)
{
// stop the capture
_capturectrl.StopCapture();
}
public void CaptureCtrl_Progress(object sender, ProgressEventArgs e)
{
_totalTime = _capturectrl.CaptureTime;
}
public void CaptureCtrl_ErrorAbort(object sender, ErrorAbortEventArgs e)
{
// set result
_result = true;
}
static class LEAD_VARS
{
public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 19\Media";
}