Leadtools.Multimedia Namespace > PlayCtrl Class : MidiRenderers Property |
public MidiRenderers MidiRenderers {get;}
'Declaration Public ReadOnly Property MidiRenderers As MidiRenderers
'Usage Dim instance As PlayCtrl Dim value As MidiRenderers value = instance.MidiRenderers
public MidiRenderers MidiRenderers {get;}
get_MidiRenderers();
public: property MidiRenderers^ MidiRenderers { MidiRenderers^ get(); }
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.Reset() ' 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 175\Media"; End Class
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.Reset(); // 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 175\Media"; }
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2