HasDialog Method

Summary

Checks whether the specified property dialog is available.

Syntax
C#
VB
C++
public virtual bool HasDialog( 
   CaptureDlg dialog 
) 
Public Overridable Function HasDialog( _ 
   ByVal dialog As CaptureDlg _ 
) As Boolean 
public: 
virtual bool HasDialog(  
   CaptureDlg dialog 
)  

Parameters

dialog
Value that specifies which dialog's availability is to be checked.

Return Value

true if the specified property dialog is available; otherwise it is false.

Remarks

The dialog value must be one of the CaptureDlg enumeration values.

Example
C#
VB
using Leadtools; 
using Leadtools.Multimedia; 
using LeadtoolsMultimediaExamples.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; 
 
      // The HasDialog method tells us that the control 
      // can display the desired settings dialog. 
      // check to see if the Capture properties dialog is available 
      if (capturectrl.HasDialog(CaptureDlg.Capture)) 
      { 
         // now show it to change some settings 
         capturectrl.ShowDialog(CaptureDlg.Capture, _form); 
         _result = true; 
      } 
 
      // set MPEG2 as the video compressor 
      capturectrl.VideoCompressors.Mpeg2.Selected = true; 
 
      // set AC3 as the audio compressor 
      capturectrl.AudioCompressors.AC3.Selected = true; 
 
      // set the target output file and format 
      capturectrl.TargetFile = outFile; 
 
      // set the target output format 
      capturectrl.TargetFormat = TargetFormatType.AVI; 
 
      // check whether we 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 20\Media"; 
} 
Imports Leadtools 
Imports Leadtools.Multimedia 
Imports LeadtoolsMultimediaExamples.Fixtures 
 
Public _result As Boolean = False 
Public _form As CaptureCtrlForm = 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 
 
      ' The HasDialog method tells us that the control 
      ' can display the desired settings dialog. 
      ' check to see if the Capture properties dialog is available 
      If capturectrl.HasDialog(CaptureDlg.Capture) Then 
         ' now show it to change some settings 
         capturectrl.ShowDialog(CaptureDlg.Capture, _form) 
         _result = True 
      End If 
 
      ' set MPEG2 as the video compressor 
      capturectrl.VideoCompressors.Mpeg2.Selected = True 
 
      ' set AC3 as the audio compressor 
      capturectrl.AudioCompressors.AC3.Selected = True 
 
      ' set the target output file and format 
      capturectrl.TargetFile = outFile 
 
      ' set the target output format 
      capturectrl.TargetFormat = TargetFormatType.AVI 
 
      ' 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. 
         Do While capturectrl.State = CaptureState.Running 
            Application.DoEvents() 
         Loop 
      End If 
   Catch e1 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 20\Media" 
End Class 

Requirements

Target Platforms

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

Leadtools.Multimedia Assembly