Auflisten und koppeln von Bluetooth-Audiogeräten

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von kafffee.

    Auflisten und koppeln von Bluetooth-Audiogeräten

    Hallo,

    Ich möchte gerne in meinem Programm die Bluetooth-Audio Geräte in Reichweite anzeigen lassen, meinen Windows 10-PC damit koppeln und anschließend als Wiedergabegerät aussuchen können (die Anzeige der Wiedergabegeräte hab ich schon programmiert).

    Nach einiger Recherche bin ich auf 32Feet gestoßen, was aber wohl ein Problem mit der Authentifizierung unter Win10 hat. Ausserdem möchte ich soweit möglich auf 3rd Party-Erweiterungen verzichten (aber nur soweit möglich!)
    Alternativ ist mir der Namespace windows.devices.enumeration ins Auge gefallen, ich finde aber kein Tutorial, Beispiel oder ähnliches (vor allem nicht in VB) Mit den Microsoft Docs kann ich nicht viel anfangen, das ist finde ich sehr praxisfern.

    Weiss jemand vielleicht ein Tutorial oder Beispiel oder hat noch eine andere Methode, so etwas zu coden? Mit den richtigen Hilfsmitteln sollte das denke ich keine grosse Sache sein??

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

    So nach stundenlanger Recherche hab ich hinbekommen. Hab mich dann doch für 32Feet entschieden. Das "verbraucht" nur zwei kleine DLLs mit einer gemeinsamen Grösse von ca. 1,2 MB. Man muss das einfach über Projekt>NuGet-Pakete verwalten und dann nach 32Feet.Net suchen, installieren und voila! Und es läuft auf Windows 10, weiss nicht warum das ein Anderer nicht hinbekommen hat...

    Alternativ kann man die Windows 10-API verwenden. Da muss man sich ebenfalls ein NuGet-Paket namens "Microsoft.Windows.SDK.Contracts" runterladen. Hab das bloss nicht hinbekommen...

    Hier mein Code:

    VB.NET-Quellcode

    1. Option Strict On
    2. Imports InTheHand.Net.Sockets
    3. Imports InTheHand.Net.Bluetooth
    4. Imports InTheHand.Net.Ports
    5. Public Class Form1
    6. Public bt_client As BluetoothClient
    7. Public odevices As BluetoothDeviceInfo()
    8. Public odev As BluetoothDeviceInfo
    9. Private Sub btnSuchen_Click(sender As Object, e As EventArgs) Handles Button1.Click
    10. ListBox1.Items.Clear()
    11. Try
    12. bt_client = New BluetoothClient()
    13. odevices = bt_client.DiscoverDevices().ToArray()
    14. For Each odev In odevices
    15. ListBox1.Items.Add(odev.DeviceName)
    16. Next
    17. If ListBox1.Items.Count = 0 Then
    18. MessageBox.Show("Scan abgeschlossen. Es wurden keine Bluetooth-Geräte gefunden. Bitte stelle sicher, dass dein Bluetoth-Gerät aktiviert und sichtbar ist.")
    19. Else
    20. MessageBox.Show("Scan abgeschlossen. Wähle jetzt ein Bluetooth-Gerät aus und klicke auf Koppeln.")
    21. End If
    22. Catch ex As Exception
    23. MessageBox.Show("Es konnten keine Bluetooth-Geräte gefunden werden. Wahrscheinlich ist dein Bluetooth ausgeschaltet.")
    24. End Try
    25. End Sub
    26. Private Sub btnKoppeln_Click(sender As Object, e As EventArgs) Handles Button2.Click
    27. If ListBox1.SelectedIndex = -1 Then
    28. MessageBox.Show("Bitte wähle zuerst ein Bluetooth-Gerät aus der Liste aus.")
    29. Return
    30. End If
    31. Dim Gepaart As Boolean = BluetoothSecurity.PairRequest(odevices(ListBox1.SelectedIndex).DeviceAddress, TextBox1.Text)
    32. If Gepaart = True Then
    33. MessageBox.Show("Das ausgewählte Bluetooth-Gerät wurde erfolgreich mit deinem Computer gekoppelt. Bitte klicke jetzt auf Audioausgabegeräte suchen und wähle dann aus der Liste das gewünschte Bluetooth-Gerät aus. Wenn es nicht in der Liste erscheint, dann öffne über die Systemsteuerung die Sound-Einstellungen und aktiviere und verbinde das Gerät.")
    34. Else
    35. MessageBox.Show("Die Kopplung mit dem ausgewählten Bluetooth-Gerät ist fehlgeschlagen. Bitte stelle sicher, dass Bluetooth auf diesem Computer und auf dem zu verbindenden Gerät eingeschaltet ist.")
    36. End If
    37. End Sub
    38. Private Sub btnEntkoppeln_Click(sender As Object, e As EventArgs) Handles Button3.Click
    39. bt_client.Dispose()
    40. MessageBox.Show("Bluetooth-Gerät(e) wurde(n) erfolgreich entkoppelt.")
    41. End Sub
    42. End Class


    Takafusa schrieb:

    wofür braucht man sowas?

    Ganz einfach. Mein Laptop ist ein Dinosaurier und über 10 Jahre alt. Da dauert das Laden der EInstellungen meistens länger als meine Geduld. Wenn ich das in mein Projekt importiere geht das schneller und auch komfortabler...
    Dein Link hat mir trotzdem weiter geholfen. Das ist dann aber nicht an C# gescheitert sondern wie gesagt daran, dass ich überhaupt keine Ahnung hab wie das denn nun eingebunden werden soll...

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