LEADTOOLS Multimedia (Leadtools.Multimedia assembly) Send comments on this topic. | Back to Introduction | Help Version 17.0.3.22
Selection Property
See Also 
Leadtools.Multimedia Namespace > Renderers Class : Selection Property



Gets or sets the zero-based index of the currently selected Renderer item.

Syntax

Visual Basic (Declaration) 
Public Property Selection As Integer
Visual Basic (Usage)Copy Code
Dim instance As Renderers
Dim value As Integer
 
instance.Selection = value
 
value = instance.Selection
C# 
public int Selection {get; set;}
C++/CLI 
public:
property int Selection {
   int get();
   void set (    int value);
}

Property Value

The zero-based index of the selected item; otherwise -1 if no item selected.

Example

Visual BasicCopy Code
Public _result As Boolean = False
      Public _form As CaptureCtrlForm = New CaptureCtrlForm()
      Public _capturectrl As CaptureCtrl
      Public Sub AudioRenderersExample()
         ' output file
         Dim outFile As String = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_AudioRenderersExample.avi")

         ' reference the capture control
         _capturectrl = _form.CaptureCtrl

         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

            ' select a video compressor
            _capturectrl.VideoCompressors.Mpeg4.Selected = True

            ' set the target file
            _capturectrl.TargetFile = outFile

            ' reference the audio renderers collection
            Dim ar As AudioRenderers = _capturectrl.AudioRenderers

            ' get the current selection
            Dim currSelection As Integer = ar.Selection

            ' loop through the capture control's registered audio renderers
            For Each r As Renderer In ar
               ' select by renderer friendly name
               If r.FriendlyName = "Default DirectSound Device" AndAlso Not r Is ar(currSelection) Then
                  ' select it
                  r.Selected = True
                  Exit For
               End If

               ' select by renderer name (device name)
               If r.Name = "@device:cm:{E0F158E1-CB04-11D0-BD4E-00A0C911CE86}\Default DirectSound Device" AndAlso Not r Is ar(currSelection) Then
                  ' select it
                  r.Selected = True
                  Exit For
               End If
            Next r

            ' check the new selection
            Dim newSelection As Integer = ar.Selection

            ' set the result to what we expect
            _result = (currSelection <> newSelection)

            ' set the started event handler
            AddHandler _capturectrl.Started, AddressOf CaptureCtrl_Started

            ' 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 Sub CaptureCtrl_Started(ByVal sender As Object, ByVal e As EventArgs)
         ' stop the capture
         _capturectrl.StopCapture()
      End Sub

Public NotInheritable Class LEAD_VARS
   Public Const MediaDir As String = "C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 17\Media"
End Class
C#Copy Code
public bool _result = false;
      public CaptureCtrlForm _form = new CaptureCtrlForm();
      public CaptureCtrl _capturectrl;
      public void AudioRenderersExample()
      {
         // output file
         string outFile = Path.Combine(LEAD_VARS.MediaDir,"CaptureCtrl_AudioRenderersExample.avi");

         // reference the capture control
         _capturectrl = _form.CaptureCtrl;

         try
         {
            // set the source video device, select using your device name here
            if (_capturectrl.VideoDevices["USB"] == null)
               throw new Exception("No USB video device available");

            _capturectrl.VideoDevices["USB"].Selected = true;

            // select a video compressor
            _capturectrl.VideoCompressors.Mpeg4.Selected = true;

            // set the target file
            _capturectrl.TargetFile = outFile;

            // reference the audio renderers collection
            AudioRenderers ar = _capturectrl.AudioRenderers;

            // get the current selection
            int currSelection = ar.Selection;

            // loop through the capture control's registered audio renderers
            foreach (Renderer r in ar)
            {
               // select by renderer friendly name
               if (r.FriendlyName == "Default DirectSound Device" && r != ar[currSelection])
               {
                  // select it
                  r.Selected = true;
                  break;
               }

               // select by renderer name (device name)
               if (r.Name == @"@device:cm:{E0F158E1-CB04-11D0-BD4E-00A0C911CE86}\Default DirectSound Device" && r != ar[currSelection])
               {
                  // select it
                  r.Selected = true;
                  break;
               }
            }

            // check the new selection
            int newSelection = ar.Selection;

            // set the result to what we expect
            _result = (currSelection != newSelection);

            // set the started event handler
            _capturectrl.Started += new EventHandler(CaptureCtrl_Started);

            // 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();
      }

      public void CaptureCtrl_Started(object sender, EventArgs e)
      {
         // stop the capture
         _capturectrl.StopCapture();
      }

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

Remarks

Gets or sets the zero-based index of the currently selected Renderer item. Assignment could raise an error exception. For more information, refer to the Error Codes.

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7

See Also