AudioRenderers Property

Summary
Gets the registered audio renderer collection object.
Syntax
C#
VB
C++
public AudioRenderers AudioRenderers { get; } 
Public ReadOnly Property AudioRenderers As AudioRenderers 
public: 
property AudioRenderers^ AudioRenderers { 
   AudioRenderers^ get(); 
} 

Property Value

An AudioRenderers collection object representing the available audio renderers.

Remarks

The AudioRenderers object is used to enumerate the available audio renderers, and to select a renderer for audio output. For more information, refer to AudioRenderers.

Example
C#
VB
using Leadtools; 
using Leadtools.MediaFoundation; 
using LeadtoolsMediaFoundationExamples.Fixtures; 
 
public bool _result = false; 
public CaptureCtrlForm _form = new CaptureCtrlForm(); 
public CaptureCtrl _capturectrl; 
public TestCtrlSubForm _csbform; 
 
public void RenderersExample() 
{ 
   // reference the capture control 
   _capturectrl = _form.CaptureCtrl; 
 
   // input file 
   string outFile = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_Source.avi"); 
 
   try 
   { 
      // create the sub form for renderers listbox 
      _csbform = new TestCtrlSubForm(); 
 
      _csbform.Load += new EventHandler(Form_Load); 
      _csbform.buttonRefresh.Click += new EventHandler(Refresh_Click); 
      _csbform.List.Click += new EventHandler(List_Click); 
 
      // show the renderers form 
      _csbform.ShowDialog(); 
 
      // get the selected renderer index 
      int selectedRenderer = _capturectrl.AudioRenderers.Selection; 
 
      // set the result to what we expect  
      _result = (_csbform.List.SelectedItem != null && _capturectrl.AudioRenderers.Selection != -1); 
   } 
   catch (Exception) 
   { 
      _result = false; 
   } 
} 
 
void Form_Load(object sender, EventArgs e) 
{ 
   //  build the audio renderer list 
   EnumerateRenderers(_capturectrl.AudioRenderers, _csbform.List); 
} 
 
void List_Click(object sender, EventArgs e) 
{ 
   //  select the audio renderer 
   SelectRenderer(_capturectrl.AudioRenderers, _csbform.List); 
} 
 
void Refresh_Click(object sender, EventArgs e) 
{ 
   //  refresh audio renderers 
   RefreshRenderers(_capturectrl.AudioRenderers, _csbform.List); 
} 
 
void EnumerateRenderers(AudioRenderers Renderers, ListBox List) 
{ 
   //  Build the renderers list box 
   int Selected = -1; 
 
   // empty the list box 
   List.Items.Clear(); 
 
   // add the available audio renderers to the list box 
   for (int i = 0; (i <= (Renderers.Count - 1)); i++) 
   { 
      List.Items.Add(Renderers[i]); 
      if (Renderers[i].Selected) 
      { 
         Selected = i; 
      } 
   } 
   //  highlight the current selection 
   List.SelectedIndex = Selected; 
} 
 
void RefreshRenderers(AudioRenderers Renderers, ListBox List) 
{ 
   string SelectedName = string.Empty; 
 
   //  save the currently selected renderer's name 
   if (Renderers.Selection >= 0) 
      SelectedName = Renderers[Renderers.Selection].FriendlyName; 
 
   //  refresh the renderer collection 
   Renderers.Refresh(); 
 
   //  if there was a previously selected renderer, reselect it 
   if (SelectedName != string.Empty) 
      Renderers.Selection = Renderers.IndexOf(SelectedName); 
 
   //  rebuild the listbox 
   EnumerateRenderers(Renderers, List); 
} 
 
void SelectRenderer(AudioRenderers Renderers, ListBox List) 
{ 
   //  select the highlighted renderer 
   Renderers.Selection = Renderers.IndexOf(List.Items[List.SelectedIndex] as Renderer); 
} 
 
static class LEAD_VARS 
{ 
   public const string MediaDir = @"C:\LEADTOOLS21\Media"; 
} 
Imports Leadtools 
Imports Leadtools.MediaFoundation 
Imports LeadtoolsMediaFoundationExamples.Fixtures 
 
Public _result As Boolean = False 
Public _form As New CaptureCtrlForm() 
Public _capturectrl As CaptureCtrl 
Public _csbform As TestCtrlSubForm 
 
Public Sub RenderersExample() 
   ' reference the capture control 
   _capturectrl = _form.CaptureCtrl 
 
   ' input file 
   Dim outFile As String = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_Source.avi") 
 
   Try 
      ' create the sub form for renderers listbox 
      _csbform = New TestCtrlSubForm() 
 
      AddHandler _csbform.Load, AddressOf Form_Load 
      AddHandler _csbform.buttonRefresh.Click, AddressOf Refresh_Click 
      AddHandler _csbform.List.Click, AddressOf List_Click 
 
      ' show the renderers form 
      _csbform.ShowDialog() 
 
      ' get the selected renderer index 
      Dim selectedRenderer As Integer = _capturectrl.AudioRenderers.Selection 
 
      ' set the result to what we expect  
      _result = (_csbform.List.SelectedItem IsNot Nothing AndAlso _capturectrl.AudioRenderers.Selection <> -1) 
   Catch generatedExceptionName As Exception 
      _result = False 
   End Try 
End Sub 
 
Private Sub Form_Load(ByVal sender As Object, ByVal e As EventArgs) 
   '  build the audio renderer list 
   EnumerateRenderers(_capturectrl.AudioRenderers, _csbform.List) 
End Sub 
 
Private Sub List_Click(ByVal sender As Object, ByVal e As EventArgs) 
   '  select the audio renderer 
   SelectRenderer(_capturectrl.AudioRenderers, _csbform.List) 
End Sub 
 
Private Sub Refresh_Click(ByVal sender As Object, ByVal e As EventArgs) 
   '  refresh audio renderers 
   RefreshRenderers(_capturectrl.AudioRenderers, _csbform.List) 
End Sub 
 
Private Sub EnumerateRenderers(ByVal Renderers As AudioRenderers, ByVal List As ListBox) 
   '  Build the renderers list box 
   Dim Selected As Integer = -1 
 
   ' empty the list box 
   List.Items.Clear() 
 
   ' add the available audio renderers to the list box 
   Dim i As Integer = 0 
   While (i <= (Renderers.Count - 1)) 
      List.Items.Add(Renderers(i)) 
      If Renderers(i).Selected Then 
         Selected = i 
      End If 
      i += 1 
   End While 
   '  highlight the current selection 
   List.SelectedIndex = Selected 
End Sub 
 
Private Sub RefreshRenderers(ByVal Renderers As AudioRenderers, ByVal List As ListBox) 
   Dim SelectedName As String = String.Empty 
 
   '  save the currently selected renderer's name 
   If Renderers.Selection >= 0 Then 
      SelectedName = Renderers(Renderers.Selection).FriendlyName 
   End If 
 
   '  refresh the renderer collection 
   Renderers.Refresh() 
 
   '  if there was a previously selected renderer, reselect it 
   If SelectedName <> String.Empty Then 
      Renderers.Selection = Renderers.IndexOf(SelectedName) 
   End If 
 
   '  rebuild the listbox 
   EnumerateRenderers(Renderers, List) 
End Sub 
 
Private Sub SelectRenderer(ByVal Renderers As AudioRenderers, ByVal List As ListBox) 
   '  select the highlighted renderer 
   Renderers.Selection = Renderers.IndexOf(TryCast(List.Items(List.SelectedIndex), Renderer)) 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const MediaDir As String = "C:\LEADTOOLS21\Media" 
End Class 
Requirements

Target Platforms

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

Leadtools.MediaFoundation Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.