CopyTarget Method

Summary
Copies the valid media data from the target to the specified file.
Syntax
C#
C++/CLI
public virtual void CopyTarget( 
   string fileName, 
   bool allowEscAbort 
) 
public: 
virtual void CopyTarget(  
   String^ fileName, 
   bool allowEscAbort 
)  

Parameters

fileName
Character string containing the destination filename.

allowEscAbort
Value indicating whether pressing the ESC key will abort the copy operation.

Remarks

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.

Example
C#
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:\LEADTOOLS23\Media"; 
} 
Requirements

Target Platforms

Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Multimedia Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.