Audio Treiber

  • VB.NET

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von SeBiX0007.

    Audio Treiber

    Hallo alle zusammen!

    Ich Benötige für Mein neustes Projekt eine List-box, die mir die audio Output Treiber anzeigt.
    Der User soll wählen können über welchen Treiber der Sound aus der App. abgespielt wird.

    Ich nutze Win8 und Visual Studio 2012!

    Kann mir bitte wer helfen ich habe keinen plan wie man so was machen kann!
    Danke ;(

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    3. ListBox1.Items.AddRange(IO.Directory.Get.............................??????????)
    4. End Sub
    5. Private Sub ListBox1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.DoubleClick
    6. Process.Start(ListBox1.SelectedItem.ToString)
    7. End Sub
    8. End Class
    10 Sekunden gegoogelt:
    stackoverflow.com/questions/15…io-out-devices-in-c-sharp
    Falls Du damit nicht zurecht kommst, kannst Du mit diesen Suchbegriffen weitersuchen: .net list audio devices
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils
    Wie du vielleicht bemerkt hast ist der Code in VB und nicht C# geschrieben! daher kann ich mit den C# Befehlen wenig anfangen!

    msdn.microsoft.com/en-us/library/dd743860(v=vs.85).aspx

    kann mir wer genau sagen wie man die Audio Treiber wie bei Winamp,... auswählen kann?!

    VB.NET-Quellcode

    1. ListBox1.Items.AddRange(IO.Directory......????......)


    Aber trotzdem danke!


    Ok ich habe es geschafft sie aufzulisten kann mir wer helfen jetzt den Treiber auszuwählen.

    VB.NET-Quellcode

    1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    2. AxWindowsMediaPlayer1.URL = ""
    3. AxWindowsMediaPlayer2.URL = ""
    4. AxWindowsMediaPlayer1.settings.rate = 1
    5. AxWindowsMediaPlayer2.settings.rate = 1
    6. Dim objSearcher As New System.Management.ManagementObjectSearcher("SELECT * FROM Win32_SoundDevice")
    7. Dim objCollection As System.Management.ManagementObjectCollection = objSearcher.Get()
    8. For Each obj As System.Management.ManagementObject In objCollection
    9. ListBox3.Items.Add(obj.GetPropertyValue("Caption").ToString())
    10. Next
    11. End Sub

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

    Dann lass dir den C# Code doch einfach in VB online übersetzen? Da gibt es ja schließlich genug converter für...
    das hatte ich getestet und es ging nicht!

    aber

    VB.NET-Quellcode

    1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    2. AxWindowsMediaPlayer1.URL = ""
    3. AxWindowsMediaPlayer2.URL = ""
    4. AxWindowsMediaPlayer1.settings.rate = 1
    5. AxWindowsMediaPlayer2.settings.rate = 1
    6. Dim objSearcher As New System.Management.ManagementObjectSearcher("SELECT * FROM Win32_SoundDevice")
    7. Dim objCollection As System.Management.ManagementObjectCollection = objSearcher.Get()
    8. For Each obj As System.Management.ManagementObject In objCollection
    9. ListBox3.Items.Add(obj.GetPropertyValue("Caption").ToString())
    10. Next
    11. End Sub


    das geht ich kann jetzt aber den Treiber noch nicht als Output Treiber festlegen!


    msdn.microsoft.com/en-us/libra…d562388%28v=vs.85%29.aspx

    DeviceConnect Not supported for .NET programming.
    DeviceDisconnect Not supported for .NET programming.
    DeviceStatusChange Not supported for .NET programming.

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

    Siehe Signatur:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Option Strict On
    2. Imports CSCore.SoundOut
    3. Imports CSCore.SoundOut.DirectSound
    4. Public Class Form1
    5. DirectSoundOut _soundOut;
    6. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    7. For Each device in DirectSoundDevice.EnumerateDevices()
    8. 'device zur listbox hinzufügen
    9. ListBox1.Items.Add(device)
    10. Next
    11. End Sub
    12. Private Sub ListBox1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.DoubleClick
    13. Dim source As IWaveSource = CodecFactory.Instance.GetCodec("C:\Temp\test.wav")
    14. Dim dsound As New DirectSoundOut()
    15. Dim device As DirectSoundDevice = DirectCast(ListBox1.SelectedItem, DirectSoundDevice)
    16. dsound.Device = device.Guid
    17. dsound.Initialize(source)
    18. dsound.Play()
    19. _soundOut = dsound
    20. End Sub
    21. End Class


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
    Option Strict On
    Imports CSCore.SoundOut
    Imports CSCore.SoundOut.DirectSound

    muss ich da noch eine anderer .dll einbinden? weil es so zu Fehlern kommt.

    Brauche ich dann deinen CSCore player als player Grundlage? anstatt dem AxWindowsMediaPlayer

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „SeBiX0007“ ()

    Kann ich auch die winamp.dll verwenden oder kann man winamp nicht als player verwenden?

    oder kannst du mir genau sagen was ich alles brauche!

    VB.NET-Quellcode

    1. Private Sub Play_2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Play_2.Click
    2. AxWindowsMediaPlayer2.URL = ListBox2.Text
    3. End Sub


    so habe ich die Sachen bisher abgespielt.

    ich verstehe das leider nicht ganz!
    Alles auch mp3,...

    thefiloe Wie kann ich dann den ausgewählten Treiber benutzen weil

    VB.NET-Quellcode

    1. _soundOut = dsound
    geht bei mir nicht da kommt ein Fehler!

    Außerdem wollte ich eine Scrollbar zum vol ändern!

    VB.NET-Quellcode

    1. Private Sub Vol_1_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Vol_1.Scroll
    2. Dim vol_int_1 = Vol_1.Value * 10
    3. dsound1.Volume = vol_int_1
    4. End Sub

    da blick ich auch nicht wie das am besten zu lösen ist.
    da kackt das Programm immer einfach ab!

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „SeBiX0007“ ()