Leadtools.Multimedia Namespace > CaptureCtrl Class : InterleaveMode Property |
public virtual CaptureInterleavingMode InterleaveMode {get; set;}
'Declaration Public Overridable Property InterleaveMode As CaptureInterleavingMode
'Usage Dim instance As CaptureCtrl Dim value As CaptureInterleavingMode instance.InterleaveMode = value value = instance.InterleaveMode
public virtual CaptureInterleavingMode InterleaveMode {get; set;}
get_InterleaveMode();
set_InterleaveMode(value);
public: virtual property CaptureInterleavingMode InterleaveMode { CaptureInterleavingMode get(); void set ( CaptureInterleavingMode value); }
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.
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 175\Media"; End Class
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 175\Media"; }
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2