Audiogeräte einlesen

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von schweichertf.

    Audiogeräte einlesen

    Hallo Leute,

    Ich sitze hier vor einem Problem und verstehe zwar was die Routine macht aber ich würde gerne das ganze so umschreiben das man das ausgewählte von der letzten Sitzung gleich auch wieder aktiviert hat. und hier genau ist das Problem. villeicht kann mir einer mal die Routine genauer erklären oder mir mit ein paar tips weiterhelfen ich dachte so an mehrere Comboboxen.

    VB.NET-Quellcode

    1. Dim n1 As TreeNode
    2. Dim n2 As TreeNode
    3. Dim h1 As TreeNode
    4. Dim h2 As TreeNode
    5. mxp = New CMixerPro()
    6. If CCoreAudio.RequiresCoreAudio Then
    7. coreAudio = New CCoreAudio(mxp)
    8. Dim l1 As CCoreAudio.CLine
    9. For Each m As CCoreAudio.CMixer In coreAudio.Mixers
    10. n1 = tvMix.Nodes.Add(m.DeviceName + " (" + m.Name + ")")
    11. ' MsgBox(m.Name & "test")
    12. If Not m.Enabled Then n1.ForeColor = Color.FromKnownColor(KnownColor.ControlDark)
    13. If m.Selected Then n1.NodeFont = New Font(tvMix.Font.FontFamily, tvMix.Font.Size, FontStyle.Bold, tvMix.Font.Unit)
    14. n1.Tag = m
    15. If m.Line IsNot Nothing Then AddControls(m.Line, n1)
    16. n2 = n1.Nodes.Add("Lines")
    17. For Each l1 In m.Lines
    18. AddControls(l1, n2)
    19. Next l1
    20. n1 = n1.Nodes.Add(m.DeviceName, "Sessions")
    21. n1.Tag = m
    22. DisplaySessions(m, n1)
    23. AddHandler m.SessionChanged, Sub(mixer As CCoreAudio.CMixer, session As CCoreAudio.CSession)
    24. DisplaySessions(mixer, FindSessionsNode(mixer, Nothing))
    25. End Sub
    26. Next
    27. For Each n1 In tvMix.Nodes
    28. UpdateChildColors(n1)
    29. Next



    Danke

    VB-Tags eingefügt. ~Thunderbolt

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Thunderbolt“ ()

    schweichertf schrieb:

    Oder so das der Wert zumindestens beim Nächsten Programmstart wieder gesetzt wird.
    Das setzt ja voraus, dass der TV beim nächsten Programmstart wieder mit den gleichen Nodes befüllt ist wie beim vorigen Prog-Ende.
    Trifft das bei dir ühaupt zu?
    Weil einen Node, dens nicht gibt, kann man auch nicht als SelectedNode setzen beim Programmstart.
    Danke für den Hinweis.Ja dem ist so.würde zur Sicherheit diese Parameter allerdings noch abfragen .Die Nodes Bleiben alle vorhanden nur bei den Unternodes ändert sich villeicht die reihenfolge.also werde ich wohl jeden einzelnen konten von Hand selektieren müssen. oder ?
    So also vom Treeview habe ich folgendes bis jetzt schonmal abgespeichert.So das beim Neuen Laden das in der My.Setting auch da ist.
    Sprich:

    My.Settings.tvMix = tvMix.SelectedNode.FullPath


    So und wie setze ich den mein Treeview mit den Informationen.Dieser Pfad ist auch definitiv beim Start da.

    VB.NET-Quellcode

    1. 'Aufruf:
    2. TreeView1.SelectedNode = GetNodeByPath(TreeView1.Nodes, "Node0\Node5\Node13")
    3. '...
    4. Private shared Function GetNodeByPath(nodes As TreeNodeCollection, path As String) As TreeNode
    5. GetNodeByPath=nothing
    6. For Each segment In path.Split("\"c)
    7. For Each GetNodeByPath In nodes
    8. If GetNodeByPath.Text = segment Then
    9. nodes = GetNodeByPath.Nodes
    10. Exit For
    11. End If
    12. Next
    13. Next
    14. End Function