Мы хотим получить доступ к профилям Bluetooth и использовать их в нашем приложении WPF с помощью C# в Visual Studio 2017.
Детали проблемы:
Платформа: Windows 10 Pro - версия 1803.
Краткое описание проблемы: мы пытаемся получить доступ к профилям Bluetooth через рабочий стол (C#) подключенных телефонов, однако в Windows 10 профиль отображается, но профили не работают, например: HFP подключается, однако голос не слышен
Мы протестировали это на следующих устройствах Bluetooth:
1.Bluetooth CSR 4.0 Dongle (CSR8510 A10) (Примечание: этот Bluetooth подключается и показывает HFP и работает должным образом, однако Bluetooth не отображается в списке устройств, и, следовательно, мы не можем подключиться программно с помощью C#)
2. Bluetooth 4.0 IOGEAR (модель GBU521W6) (отображается в списке устройств, и наше приложение может обнаруживать устройство, однако HFP не работает должным образом как из приложения, так и из обычного раздела устройств)
Необходимые профили:
1. профиль без рук (HFP) 2. профиль доступа к сообщениям (MAP) 3. Профиль доступа к телефонной книге (PBAP)
Мы уже пробовали следующее:
Боковое примечание: наше приложение с таким же кодом работает в Windows 7
Я пробовал с версией 1709, 1703, 1607 .... но не работает .. Спасибо за быстрый ответ ..





MAP и PBAP не проблема, потому что оба основаны на OBEX (который является RFCOMM).
Однако с HandsFree могут возникнуть проблемы. Отлично работает с драйверами BlueSoile. Но со стандартным майкрософтом может не работать.
Первый шаг - использовать BluetoothSetServiceState с HFP UUID, чтобы сообщить Windows об установке драйверов для профиля HFP вашего устройства. Если функция завершится успешно, вы должны увидеть, что в вашей системе появилось 2 аудиоустройства: одно - Inout, а другое - Output. Вы можете найти их с помощью любого медиа-API (DirectSound, устаревший API).
Чтобы иметь возможность работать с PBAP и MAP, вам нужно в любом случае подключиться к вашему устройству через RFCOMM. WinSock или любой другой способ хорош.
Обратите внимание, что описанный выше метод работает только с драйверами Microsoft Bluetooth. Другие драйверы (BlueSoleil, Toshiba) имеют совершенно другой API, поэтому вы должны добавить его в свое приложение, если необходимо их поддерживать.
Или вы можете просто взглянуть на Bluetooth
Это работало на предыдущих версиях? Я спрашиваю, потому что вы упомянули последнюю версию сборки Windows, и с этими версиями были некоторые проблемы.