[EditorAttribute(System.Type, System.Type)]
public VideoProcessors VideoProcessors { get; }
Public ReadOnly Property VideoProcessors As VideoProcessors
public:
property VideoProcessors^ VideoProcessors {
VideoProcessors^ get();
}
A VideoProcessors collection object representing the available video processors.
This VideoProcessors object is used to enumerate the available video processing filters. .
using Leadtools;
using Leadtools.MediaFoundation;
using LeadtoolsMediaFoundationExamples.Fixtures;
public bool _result = false;
public CaptureCtrlForm _form = new CaptureCtrlForm();
public void ProcessorsExample()
{
CaptureCtrl capturectrl = _form.CaptureCtrl;
string outFile = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_ProcessorsExample.avi");
try
{
// try to find a USB camera
if (capturectrl.VideoDevices["USB"] == null)
throw new Exception("No USB video device available");
capturectrl.VideoDevices["USB"].Selected = true;
// try to find a USB audio device
if (capturectrl.AudioDevices["USB"] == null)
throw new Exception("No USB audio device available");
capturectrl.AudioDevices["USB"].Selected = true;
// set the selected video processor to the first one in the video processors list
capturectrl.SelectedVideoProcessors.Add(capturectrl.VideoProcessors[0]);
Processor vproc = capturectrl.SelectedVideoProcessors[0];
// set the selected audio processor to the first one in the audio processors list
capturectrl.SelectedAudioProcessors.Add(capturectrl.AudioProcessors[0]);
Processor aproc = capturectrl.SelectedAudioProcessors[0];
// set the video processor properties
if (vproc.HasDialog(ProcessorDlg.Properties))
vproc.ShowDialog(ProcessorDlg.Properties, _form);
// set the audio processor properties
if (aproc.HasDialog(ProcessorDlg.Properties))
aproc.ShowDialog(ProcessorDlg.Properties, _form);
// set the target output file and format
capturectrl.TargetFile = outFile;
// set the target output format
capturectrl.TargetFormat = TargetFormatType.MP4;
// check if we have can capture video
if (capturectrl.IsModeAvailable(CaptureMode.VideoAndAudio))
{
capturectrl.FrameRate = 5; // 5 frames per second
capturectrl.UseFrameRate = true;
capturectrl.TimeLimit = 10; // just 10 seconds of capture time
capturectrl.UseTimeLimit = true;
// subscribe to the complete event
capturectrl.Complete += new EventHandler(CaptureCtrl_Complete);
// start the capture process
capturectrl.StartCapture(CaptureMode.VideoAndAudio);
// 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();
}
}
catch (Exception)
{
_result = false;
}
}
public void CaptureCtrl_Complete(object sender, EventArgs e)
{
// set result
_result = true;
}
static class LEAD_VARS
{
public const string MediaDir = @"C:\LEADTOOLS21\Media";
}
Imports Leadtools
Imports Leadtools.MediaFoundation
Imports LeadtoolsMediaFoundationExamples.Fixtures
Public _result As Boolean = False
Public _form As New CaptureCtrlForm()
Public Sub ProcessorsExample()
Dim capturectrl As CaptureCtrl = _form.CaptureCtrl
Dim outFile As String = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_ProcessorsExample.avi")
Try
' try to find a USB camera
If capturectrl.VideoDevices("USB") Is Nothing Then
Throw New Exception("No USB video device available")
End If
capturectrl.VideoDevices("USB").Selected = True
' try to find a USB audio device
If capturectrl.AudioDevices("USB") Is Nothing Then
Throw New Exception("No USB audio device available")
End If
capturectrl.AudioDevices("USB").Selected = True
' set the selected video processor to the first one in the video processors list
capturectrl.SelectedVideoProcessors.Add(capturectrl.VideoProcessors(0))
Dim vproc As Processor = capturectrl.SelectedVideoProcessors(0)
' set the selected audio processor to the first one in the audio processors list
capturectrl.SelectedAudioProcessors.Add(capturectrl.AudioProcessors(0))
Dim aproc As Processor = capturectrl.SelectedAudioProcessors(0)
' set the video processor properties
If vproc.HasDialog(ProcessorDlg.Properties) Then
vproc.ShowDialog(ProcessorDlg.Properties, _form)
End If
' set the audio processor properties
If aproc.HasDialog(ProcessorDlg.Properties) Then
aproc.ShowDialog(ProcessorDlg.Properties, _form)
End If
' set the target output file and format
capturectrl.TargetFile = outFile
' set the target output format
capturectrl.TargetFormat = TargetFormatType.MP4
' check if we have can capture video
If capturectrl.IsModeAvailable(CaptureMode.VideoAndAudio) Then
capturectrl.FrameRate = 5
' 5 frames per second
capturectrl.UseFrameRate = True
capturectrl.TimeLimit = 10
' just 10 seconds of capture time
capturectrl.UseTimeLimit = True
' subscribe to the complete event
AddHandler capturectrl.Complete, AddressOf CaptureCtrl_Complete
' start the capture process
capturectrl.StartCapture(CaptureMode.VideoAndAudio)
' 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()
End While
End If
Catch generatedExceptionName As Exception
_result = False
End Try
End Sub
Public Sub CaptureCtrl_Complete(ByVal sender As Object, ByVal e As EventArgs)
' set result
_result = True
End Sub
Public NotInheritable Class LEAD_VARS
Public Const MediaDir As String = "C:\LEADTOOLS21\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