Leadtools.MediaFoundation Namespace > CaptureCtrl Class : HasDialog Method |
'Declaration Public Overridable Function HasDialog( _ ByVal dialog As CaptureDlg _ ) As Boolean
'Usage Dim instance As CaptureCtrl Dim dialog As CaptureDlg Dim value As Boolean value = instance.HasDialog(dialog)
public virtual bool HasDialog( CaptureDlg dialog )
public: virtual bool HasDialog( CaptureDlg dialog )
Imports Leadtools Imports Leadtools.MediaFoundation Imports LeadtoolsMediaFoundationExamples.Fixtures Public _result As Boolean = False Public _form As New CaptureCtrlForm() Public Sub HasDialogExample() ' reference the capture control Dim capturectrl As CaptureCtrl = _form.CaptureCtrl ' output file for capture Dim outFile As String = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_HasDialogExample.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 target output format capturectrl.TargetFormat = TargetFormatType.MP4 ' The HasDialog method tells us that the control ' can display the desired settings dialog. ' check to see if the Target Format properties dialog is available If capturectrl.HasDialog(CaptureDlg.TargetFormat) Then ' now show it to change some settings capturectrl.ShowDialog(CaptureDlg.TargetFormat, _form) _result = True End If ' set the target output file and format capturectrl.TargetFile = outFile ' check if we have can capture video and audio 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 ' 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 NotInheritable Class LEAD_VARS Public Const MediaDir As String = "C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 18\Media" End Class
using Leadtools; using Leadtools.MediaFoundation; using LeadtoolsMediaFoundationExamples.Fixtures; public bool _result = false; public CaptureCtrlForm _form = new CaptureCtrlForm(); public void HasDialogExample() { // reference the capture control CaptureCtrl capturectrl = _form.CaptureCtrl; // output file for capture string outFile = Path.Combine(LEAD_VARS.MediaDir,"CaptureCtrl_HasDialogExample.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 target output format capturectrl.TargetFormat = TargetFormatType.MP4; // The HasDialog method tells us that the control // can display the desired settings dialog. // check to see if the Target Format properties dialog is available if (capturectrl.HasDialog(CaptureDlg.TargetFormat)) { // now show it to change some settings capturectrl.ShowDialog(CaptureDlg.TargetFormat, _form); _result = true; } // set the target output file and format capturectrl.TargetFile = outFile; // check if we have can capture video and audio 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; // 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; } } static class LEAD_VARS { public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 18\Media"; }