Copies the valid media data from the target to the specified file.
public virtual void CopyTarget(
string fileName,
bool allowEscAbort
)
Public Overridable Sub CopyTarget( _
ByVal fileName As String, _
ByVal allowEscAbort As Boolean _
)
public:
virtual void CopyTarget(
String^ fileName,
bool allowEscAbort
)
fileName
Character string containing the destination filename.
allowEscAbort
Value indicating whether pressing the ESC key will abort the copy operation.
The new file will contain only valid data. As a result, the destination file can be much shorter than the target. Typically, you will always capture to the same huge pre-allocated target and use this method to copy the data you want to save from each capture to a new file. If the method fails, an error is raised. For more information, refer to the Error Codes.
using Leadtools;
using Leadtools.Multimedia;
using LeadtoolsMultimediaExamples.Fixtures;
public bool _result = false;
public CaptureCtrlForm _form = new CaptureCtrlForm();
public void CopyTargetExample()
{
// reference the capture control
CaptureCtrl capturectrl = _form.CaptureCtrl;
// output file
string outFile = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_CopyTargetExampleTarget.avi");
string outCopyFile = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_CopyTargetExampleCopyTarget.avi");
try
{
// set the source video device, select using your device name here
if (capturectrl.VideoDevices["USB"] == null)
throw new Exception("No USB video device available");
capturectrl.VideoDevices["USB"].Selected = true;
// set the source video device, select using your device name here
if (capturectrl.AudioDevices["USB"] == null)
throw new Exception("No USB audio device available");
capturectrl.AudioDevices["USB"].Selected = true;
// set the video compressor to H264
capturectrl.VideoCompressors.H264.Selected = true;
// set the audio compressor to AC3
capturectrl.AudioCompressors.AC3.Selected = true;
// set the target files
capturectrl.TargetFile = outFile;
// check whether we can capture video
if (capturectrl.IsModeAvailable(CaptureMode.VideoAndAudio))
{
capturectrl.FrameDelay = .033; // 30 frames per second
capturectrl.TimeLimit = 10; // just 10 seconds of capture time
capturectrl.UseTimeLimit = true;
// start the capture process
capturectrl.StartCapture(CaptureMode.VideoAndAudio);
}
}
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();
try
{
// try to copy the target data to a new file
capturectrl.CopyTarget(outCopyFile, false);
}
catch (Exception)
{
_result = false;
}
// set the result to what we expect
_result = File.Exists(outCopyFile);
}
static class LEAD_VARS
{
public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 20\Media";
}
Imports Leadtools
Imports Leadtools.Multimedia
Imports LeadtoolsMultimediaExamples.Fixtures
Public _result As Boolean = False
Public _form As CaptureCtrlForm = New CaptureCtrlForm()
Public Sub CopyTargetExample()
' reference the capture control
Dim capturectrl As CaptureCtrl = _form.CaptureCtrl
' output file
Dim outFile As String = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_CopyTargetExampleTarget.avi")
Dim outCopyFile As String = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_CopyTargetExampleCopyTarget.avi")
Try
' set the source video device, select using your device name here
If capturectrl.VideoDevices("USB") Is Nothing Then
Throw New Exception("No USB video device available")
End If
capturectrl.VideoDevices("USB").Selected = True
' set the source video device, select using your device name here
If capturectrl.AudioDevices("USB") Is Nothing Then
Throw New Exception("No USB audio device available")
End If
capturectrl.AudioDevices("USB").Selected = True
' set the video compressor to H264
capturectrl.VideoCompressors.H264.Selected = True
' set the audio compressor to AC3
capturectrl.AudioCompressors.AC3.Selected = True
' set the target files
capturectrl.TargetFile = outFile
' check if we have can capture video
If capturectrl.IsModeAvailable(CaptureMode.VideoAndAudio) Then
capturectrl.FrameDelay = 0.033 ' 30 frames per second
capturectrl.TimeLimit = 10 ' just 10 seconds of capture time
capturectrl.UseTimeLimit = True
' start the capture process
capturectrl.StartCapture(CaptureMode.VideoAndAudio)
End If
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 capturectrl.State = CaptureState.Running
Application.DoEvents()
Loop
Try
' try to copy the target data to a new file
capturectrl.CopyTarget(outCopyFile, False)
Catch e2 As Exception
_result = False
End Try
' set the result to what we expect
_result = File.Exists(outCopyFile)
End Sub
Public NotInheritable Class LEAD_VARS
Public Const MediaDir As String = "C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 20\Media"
End Class
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document