AudioRenderers Property

Summary

Gets the registered audio renderers collection object.

Syntax
C#
VB
C++
[EditorAttribute(System.Type, System.Type)] 
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

Gets the registered audio renderers collection object. The AudioRenderers object is used to enumerate the available audio renderers, and to select a renderer for audio output.

Example
C#
VB
using Leadtools; 
using Leadtools.MediaFoundation; 
using LeadtoolsMediaFoundationExamples.Fixtures; 
 
public bool _result = false; 
public PlayCtrlForm _form = new PlayCtrlForm(); 
public PlayCtrl _playctrl; 
public TestCtrlSubForm _pcsbform; 
 
public void RenderersExample() 
{ 
   // reference the play control 
   _playctrl = _form.PlayCtrl; 
 
   // input file 
   string inFile = Path.Combine(LEAD_VARS.MediaDir, "PlayCtrl_SourceVideoOnly.avi"); 
 
   try 
   { 
      // create the sub form for renderers listbox 
      _pcsbform = new TestCtrlSubForm(); 
 
      _pcsbform.Load += new EventHandler(Form_Load); 
      _pcsbform.buttonRefresh.Click += new EventHandler(Refresh_Click); 
      _pcsbform.List.Click += new EventHandler(List_Click); 
 
      // set autostart to false 
      _playctrl.AutoStart = false; 
 
      // set our source media file 
      _playctrl.SourceFile = inFile; 
 
      // show the renderers form 
      _pcsbform.ShowDialog(); 
 
      // get the selected renderer index 
      int selectedRenderer = _playctrl.AudioRenderers.Selection; 
 
      // set the result to what we expect  
      _result = (_pcsbform.List.SelectedItem != null && _playctrl.AudioRenderers.Selection != -1); 
   } 
   catch (Exception) 
   { 
      _result = false; 
   } 
} 
 
void Form_Load(object sender, EventArgs e) 
{ 
   //  build the audio renderer list 
   EnumerateRenderers(_playctrl.AudioRenderers, _pcsbform.List); 
} 
 
void List_Click(object sender, EventArgs e) 
{ 
   //  select the audio renderer 
   SelectRenderer(_playctrl.AudioRenderers, _pcsbform.List); 
} 
 
void Refresh_Click(object sender, EventArgs e) 
{ 
   //  refresh audio renderers 
   RefreshRenderers(_playctrl.AudioRenderers, _pcsbform.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:\Program Files (x86)\LEAD Technologies\LEADTOOLS 20\Media"; 
} 
Imports Leadtools 
Imports Leadtools.MediaFoundation 
Imports LeadtoolsMediaFoundationExamples.Fixtures 
 
Public _result As Boolean = False 
Public _form As PlayCtrlForm = New PlayCtrlForm() 
Public _playctrl As PlayCtrl 
Public _pcsbform As TestCtrlSubForm 
 
Public Sub RenderersExample() 
   ' reference the play control 
   _playctrl = _form.PlayCtrl 
 
   ' input file 
   Dim inFile As String = Path.Combine(LEAD_VARS.MediaDir, "PlayCtrl_SourceVideoOnly.avi") 
 
   Try 
      ' create the sub form for renderers listbox 
      _pcsbform = New TestCtrlSubForm() 
 
      AddHandler _pcsbform.Load, AddressOf Form_Load 
      AddHandler _pcsbform.buttonRefresh.Click, AddressOf Refresh_Click 
      AddHandler _pcsbform.List.Click, AddressOf List_Click 
 
      ' set autostart to false 
      _playctrl.AutoStart = False 
 
      ' set our source media file 
      _playctrl.SourceFile = inFile 
 
      ' show the renderers form 
      _pcsbform.ShowDialog() 
 
      ' get the selected renderer index 
      Dim selectedRenderer As Integer = _playctrl.AudioRenderers.Selection 
 
      ' set the result to what we expect  
      _result = (Not _pcsbform.List.SelectedItem Is Nothing AndAlso _playctrl.AudioRenderers.Selection <> -1) 
   Catch e1 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(_playctrl.AudioRenderers, _pcsbform.List) 
End Sub 
 
Private Sub List_Click(ByVal sender As Object, ByVal e As EventArgs) 
   '  select the audio renderer 
   SelectRenderer(_playctrl.AudioRenderers, _pcsbform.List) 
End Sub 
 
Private Sub Refresh_Click(ByVal sender As Object, ByVal e As EventArgs) 
   '  refresh audio renderers 
   RefreshRenderers(_playctrl.AudioRenderers, _pcsbform.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 
   Do While (i <= (Renderers.Count - 1)) 
      List.Items.Add(Renderers(i)) 
      If Renderers(i).Selected Then 
         Selected = i 
      End If 
      i += 1 
   Loop 
   '  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:\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.MediaFoundation Assembly