Передача звука Bluetooth между устройствами Android

Я сделал исследование по той же теме и обнаружил, что устройства Android являются источниками a2dp, и звук может передаваться только от источника a2dp до приемника a2dp. Подставка A2dp может быть Bluetooth-гарнитурой или динамиком bluetooth.

Но мой вопрос заключается в том, как приложение для Android с именем "Bluetooth Music Player" работает?

Он позволяет передавать потоки с одного мобильного на другой. Поэтому в этом случае мобильное устройство для прослушивания должно действовать как приемник. Как это возможно? Используют ли они какой-то другой профиль вместо a2dp?

Хорошо, это может быть другой профиль, который они используют. Поскольку приложение также необходимо установить на стороне клиента. Но как становится возможным передавать голос с микрофона bluetooth на Android-устройство?

Пожалуйста, помогите.

Ответы

Ответ 1

Не зная подробностей о упомянутом Bluetooth-проигрывателе Bluetooth, похоже, используется простое соединение с данными Bluetooth, иначе вам не нужно будет устанавливать клиент на устройство воспроизведения/отправки.

Чтобы передавать аудио с микрофона на другое устройство, вы можете записать его на отправляющее устройство и отправить его на принимающее устройство. Для этого вам необходимо будет реализовать протокол.
ИЛИ
Вы можете реализовать альтернативную услугу приемника A2DP. Это то, что раковина: устройство с стеком протокола Bluetooth с реализацией раковины A2DP.

Edit:
Для случая, подробно описанного в ваших комментариях, отправляющее устройство должно быть оставлено как есть, без установки какого-либо приложения. Это подразумевает, что ваше решение должно использовать готовые функции Bluetooth на этом устройстве Android.
То, что вы можете использовать здесь, ограничено теми профилями, которые Android обычно поддерживает, это HSP, HFP и A2DP. Поскольку вы, очевидно, хотите транслировать музыку, A2DP будет вашим выбором.
На устройстве, которое должно получать аудиопоток и выполнять воспроизведение, вам необходимо реализовать услугу, предоставляющую приемник A2DP, как самоисполненный BluetoothService, который открывает BluetoothServerSocket на RFCOMM, как описано в Документация для Android.

Вам придется потратить много усилий, чтобы реализовать это, и я не уверен, что для этого вам понадобится лицензия.