LEADTOOLS Multimedia (Leadtools.MediaFoundation assembly)

KeyDown Event (CaptureCtrl)

Show in webframe
Example 



Occurs when the control has detected a KeyDown event.
Syntax
'Declaration
 
Public Shadows Event KeyDown As KeyDownEventHandler
'Usage
 
Dim instance As CaptureCtrl
Dim handler As KeyDownEventHandler
 
AddHandler instance.KeyDown, handler
public new event KeyDownEventHandler KeyDown
public:
new event KeyDownEventHandler^ KeyDown
Remarks
The event handler is passed a KeyDownEventArgs object containing the related key code information.
Example
Copy Code  
Imports Leadtools
Imports Leadtools.MediaFoundation
Imports LeadtoolsMediaFoundationExamples.Fixtures

Public _result As Boolean = False
Public _exit As Boolean = False
Public _form As New CaptureCtrlForm()
Public Sub KeyPressesExample()
    Dim capturectrl As CaptureCtrl = _form.CaptureCtrl
    Dim outFile As String = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_KeyPressesExample.avi")

    Try
        ' set a video device, use the name of your device here
        If capturectrl.VideoDevices("Analog") Is Nothing Then
            Throw New Exception("No Analog capture device available")
        End If

        capturectrl.VideoDevices("Analog").Selected = True

        ' set an audio device, use the name of your device here
        capturectrl.AudioDevices("USB").Selected = True

        ' enable preview
        capturectrl.Preview = True

        ' set the target output file
        capturectrl.TargetFile = outFile

        ' subscribe to the key events
        AddHandler capturectrl.KeyDown, AddressOf KeyDown_Helper
        AddHandler capturectrl.KeyUp, AddressOf KeyUp_Helper
        AddHandler capturectrl.KeyPress, AddressOf KeyPress_Helper

        ' capture it now!
        capturectrl.StartCapture(CaptureMode.AutoFramesAndAudio)
    Catch generatedExceptionName 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.
    While _exit = False
        Application.DoEvents()
    End While

    ' clean up event handlers
    RemoveHandler capturectrl.KeyDown, AddressOf KeyDown_Helper
    RemoveHandler capturectrl.KeyUp, AddressOf KeyUp_Helper
    RemoveHandler capturectrl.KeyPress, AddressOf KeyPress_Helper
End Sub

Private Sub KeyPress_Helper(ByVal sender As Object, ByVal e As Leadtools.MediaFoundation.KeyPressEventArgs)
    Select Case e.keyAscii
        Case CShort("p")
            ' toggle preview mode
            _form.CaptureCtrl.TogglePreview()
        Case CShort("f")
            ' toggle full screen mode
            _form.CaptureCtrl.ToggleFullScreenMode()
        Case CShort("s")
            ' stop the capture and exit
            _form.CaptureCtrl.StopCapture()
            _exit = True
    End Select

    ' set result
    _result = True
End Sub

Private Sub KeyUp_Helper(ByVal sender As Object, ByVal e As KeyUpEventArgs)
    ' set result
    _result = True
End Sub

Public Sub KeyDown_Helper(ByVal sender As Object, ByVal e As KeyDownEventArgs)
    ' set result
    _result = True
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 bool _exit = false;
public CaptureCtrlForm _form = new CaptureCtrlForm();
public void KeyPressesExample()
{
   CaptureCtrl capturectrl = _form.CaptureCtrl;
   string outFile = Path.Combine(LEAD_VARS.MediaDir,"CaptureCtrl_KeyPressesExample.avi");

   try
   {
      // set a video device, use the name of your device here
      if (capturectrl.VideoDevices["Analog"] == null)
         throw new Exception("No Analog capture device available");

      capturectrl.VideoDevices["Analog"].Selected = true;

      // set an audio device, use the name of your device here
      capturectrl.AudioDevices["USB"].Selected = true;

      // enable preview
      capturectrl.Preview = true;

      // set the target output file
      capturectrl.TargetFile = outFile;

      // subscribe to the key events
      capturectrl.KeyDown += KeyDown_Helper;
      capturectrl.KeyUp += KeyUp_Helper;
      capturectrl.KeyPress += KeyPress_Helper;

      // capture it now!
      capturectrl.StartCapture(CaptureMode.AutoFramesAndAudio);
   }
   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 (_exit == false)
      Application.DoEvents();

   // clean up event handlers
   capturectrl.KeyDown -= KeyDown_Helper;
   capturectrl.KeyUp -= KeyUp_Helper;
   capturectrl.KeyPress -= KeyPress_Helper;
}

void KeyPress_Helper(object sender, Leadtools.MediaFoundation.KeyPressEventArgs e)
{
   switch ((char)e.keyAscii)
   {
      case 'p':
         // toggle preview mode
         _form.CaptureCtrl.TogglePreview();
         break;
      case 'f':
         // toggle full screen mode
         _form.CaptureCtrl.ToggleFullScreenMode();
         break;
      case 's':
         // stop the capture and exit
         _form.CaptureCtrl.StopCapture();
         _exit = true;
         break;
   }

   // set result
   _result = true;
}

void KeyUp_Helper(object sender, KeyUpEventArgs e)
{
   // set result
   _result = true;
}

public void KeyDown_Helper(object sender, KeyDownEventArgs e)
{
   // set result
   _result = true;
}

static class LEAD_VARS
{
public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 18\Media";
}
Requirements

Target Platforms

See Also

Reference

CaptureCtrl Class
CaptureCtrl Members

 

 


Products | Support | Contact Us | Copyright Notices
© 2006-2014 All Rights Reserved. LEAD Technologies, Inc.

Leadtools.MediaFoundation requires a Multimedia or Multimedia Suite license and unlock key. For more information, refer to: LEADTOOLS Toolkit Features