Windows 10 Pro-версия 1803 Bluetooth профилей доступа - PullRequest
0 голосов
/ 18 мая 2018

Мы ищем доступ и используем профили 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.Hands-Free Profile(HFP) 2. Профиль доступа к сообщению (MAP) 3. Профиль доступа к книге телефона (PBAP)

Мы уже попробовали следующее:

  1. Обновление драйверов
  2. Попытка удаления установки много раз
  3. Используется Android, IOS и Windows Phone

Примечание: наше приложение с тем же кодом работает на Windows 7

1 Ответ

0 голосов
/ 21 мая 2018

MAP и PBAP не является проблемой, поскольку оба они основаны на OBEX (то есть RFCOMM).

Однако могут быть некоторые проблемы с HandsFree.Отлично работает с драйверами BlueSoile.Но со стандартным Microsoft может не работать.

Первый шаг - использовать BluetoothSetServiceState с HFP UUID, чтобы сообщить Windows об установке драйверов для профиля HFP вашего устройства.Если функция завершится успешно, вы увидите, что в вашей системе появилось 2 аудиоустройства: одно - Inout, а другое - Output.Вы можете найти их, используя любой медиа-API (DirectSound, устаревший API).

Чтобы иметь возможность работать с PBAP и MAP, вам необходимо каким-либо образом подключиться к устройству через RFCOMM.WinSock или любой другой способ хорош.

Обратите внимание, что описанный выше способ работает только с драйверами Microsoft Bluetooth.Другие драйверы (BlueSoleil, Toshiba) имеют совершенно другой API, поэтому вы должны добавить его в свое приложение, если потребуется их поддержка.

Или вы можете просто взглянуть на BluetoothFramework

...