Selection Property

Summary

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

Syntax
C#
VB
C++
public int Selection { get; set; } 
Public Property Selection As Integer 
public: 
property int Selection { 
   int get(); 
   void set (    int ); 
} 

Property Value

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

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.

Example
C#
VB
using Leadtools; 
using Leadtools.MediaFoundation; 
using LeadtoolsMediaFoundationExamples.Fixtures; 
 
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; 
 
 
      // 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 20\Media"; 
} 
Imports Leadtools 
Imports Leadtools.MediaFoundation 
Imports LeadtoolsMediaFoundationExamples.Fixtures 
 
Public _result As Boolean = False 
Public _form As 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 
 
 
      ' 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 
 
      ' 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 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 _capturectrl.State = CaptureState.Running 
      Application.DoEvents() 
   End While 
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 20\Media" 
End Class 

Requirements

Target Platforms

See Also

Reference

Renderers Class

Renderers Members

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

Leadtools.MediaFoundation Assembly