InterleaveMode Property

Summary

Gets or sets the current interleave mode when writing the target file.

Syntax
C#
VB
C++
public virtual CaptureInterleavingMode InterleaveMode { get; set; } 
Public Overridable Property InterleaveMode As CaptureInterleavingMode 
public: 
virtual property CaptureInterleavingMode InterleaveMode { 
   CaptureInterleavingMode get(); 
   void set (    CaptureInterleavingMode ); 
} 

Property Value

A CaptureInterleavingMode value specifying the interleave mode.

Remarks

Not all file formats support interleaving. For example, the AVI file format supports interleave mode, while the WMV file format does not. The interleave mode is ignored for those formats that do not support it.

Interleave mode tells the multiplexer (the module that combines audio and video into one file) which method to use to combine data from various streams (video, audio, etc) in the file. Some interleaving modes require more processing and more memory, but generate files more suitable for streaming. Other interleaving modes are faster, and should be used when speed is necessary (for example, during capture).

For a list of possible values, refer to the CaptureInterleavingMode enumeration values.

Example
C#
VB
using Leadtools; 
using Leadtools.Multimedia; 
using LeadtoolsMultimediaExamples.Fixtures; 
 
public bool _result = false; 
public CaptureCtrlForm _form = new CaptureCtrlForm(); 
 
public void InterleaveModeExample() 
{ 
   // reference the capture control 
   CaptureCtrl capturectrl = _form.CaptureCtrl; 
 
   // output file names 
   string outFile = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_InterleaveModeExample.avi"); 
 
   try 
   { 
      // set the source video device. use your device's name here 
      if (capturectrl.VideoDevices["USB"] == null) 
         throw new Exception("No USB video device available"); 
 
      capturectrl.VideoDevices["USB"].Selected = true; 
 
      // set the source audio device. use your device's name here 
      if (capturectrl.AudioDevices["USB"] == null) 
         throw new Exception("No USB audio device available"); 
 
      capturectrl.AudioDevices["USB"].Selected = true; 
 
      // select video and audio compressors 
      capturectrl.VideoCompressors.Mpeg2.Selected = true; 
      capturectrl.AudioCompressors.AC3.Selected = true; 
 
      // set the target file and format 
      capturectrl.TargetFile = outFile; 
      capturectrl.TargetFormat = TargetFormatType.AVI; 
 
      capturectrl.FrameRate = 5;       // 5 frames per second  
      capturectrl.UseFrameRate = true; 
      capturectrl.TimeLimit = 10;      // just 10 seconds of capture time 
      capturectrl.UseTimeLimit = true; 
 
      // check the video capture dialog properties, if available 
      if (capturectrl.HasDialog(CaptureDlg.TargetFormat)) 
         capturectrl.ShowDialog(CaptureDlg.TargetFormat, _form); 
 
      // If the video interleave mode is not full, set it 
      if (capturectrl.InterleaveMode != CaptureInterleavingMode.Full) 
      { 
         // set the interleave mode here 
         capturectrl.InterleaveMode = CaptureInterleavingMode.Full; 
 
         // set the result to what we expect 
         _result = true; 
      } 
 
      // run the capture 
      capturectrl.StartCapture(CaptureMode.Video); 
   } 
   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(); 
} 
 
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 InterleaveModeExample() 
   ' reference the capture control 
   Dim capturectrl As CaptureCtrl = _form.CaptureCtrl 
 
   ' output file names 
   Dim outFile As String = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_InterleaveModeExample.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 audio 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 
 
      ' select video and audio compressors 
      capturectrl.VideoCompressors.Mpeg2.Selected = True 
      capturectrl.AudioCompressors.AC3.Selected = True 
 
      ' set the target file and format 
      capturectrl.TargetFile = outFile 
      capturectrl.TargetFormat = TargetFormatType.AVI 
 
      capturectrl.FrameRate = 5 ' 5 frames per second 
      capturectrl.UseFrameRate = True 
      capturectrl.TimeLimit = 10 ' just 10 seconds of capture time 
      capturectrl.UseTimeLimit = True 
 
      ' check the video capture dialog properties if available 
      If capturectrl.HasDialog(CaptureDlg.TargetFormat) Then 
         capturectrl.ShowDialog(CaptureDlg.TargetFormat, _form) 
      End If 
 
      ' If the video interleave mode is not full, set it 
      If capturectrl.InterleaveMode <> CaptureInterleavingMode.Full Then 
         ' set the interleave mode here 
         capturectrl.InterleaveMode = CaptureInterleavingMode.Full 
 
         ' set the result to what we expect 
         _result = True 
      End If 
 
      ' run the capture 
      capturectrl.StartCapture(CaptureMode.Video) 
   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 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const MediaDir As String = "C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 20\Media" 
End Class 
Requirements

Target Platforms

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

Leadtools.Multimedia Assembly