public virtual CaptureInterleavingMode InterleaveMode { get; set; }
public:
virtual property CaptureInterleavingMode InterleaveMode {
CaptureInterleavingMode get();
void set ( CaptureInterleavingMode );
}
A CaptureInterleavingMode value specifying the interleave mode.
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.
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:\LEADTOOLS23\Media";
}
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