Как передавать музыку через несколько телефонов через Bluetooth

Я пытаюсь соединить несколько телефонов Android для потоковой передачи музыки.

Настройка такая,

Телефон А подключен к телефону Б.

Телефон B также подключен к телефону C.

A <--> B <--> C

Я хочу транслировать музыку с A по B на C и слушать ее только на C.

Я изучил A2DP (здесь), но оказалось, что поддерживать одно устройство за раз.

Есть ли способ передать поток с помощью A2DP на B, а затем отправить его на C?

Я пытаюсь придумать решение, которое не требует сохранения файла с A на B, а затем потоковой передачи с использованием A2DP. Файл может быть большим, а задержка перед воспроизведением должна быть короткой.

Есть ли способы передать файл, а затем отправить этот поток с B на C с помощью A2DP?

Существуют ли другие варианты потоковой передачи через Bluetooth? или другие потоковые классы, которые я мог бы попробовать использовать после того, как данные будут в B?

Спасибо


person Dan    schedule 27.10.2015    source источник
comment
Помимо использования последовательных соединений через Bluetooth и написания собственного протокола потоковой передачи, я был бы очень удивлен, если бы это было возможно.   -  person Gerald Schneider    schedule 27.10.2015
comment
Я начал это делать, но я действительно надеялся использовать то, что уже существует.   -  person Dan    schedule 27.10.2015


Ответы (1)


Я нашел класс AudioTrack и думаю, что это решает мою проблему.

Я могу отправить музыкальный файл как byte[], используя BluetoothSocket и BluetoothServerSocket на столько телефонов, сколько мне нужно.

Как только я достигаю конечного телефона, я создаю объект AudioTrack, записываю в него байты и воспроизводю музыку в виде потока.

Единственным ограничением является то, что файл должен быть в формате .wav и иметь определенное битовое разрешение, частоту дискретизации и настройку канала. Как только я решил, какой из них я хочу поддерживать, я просто преобразовал файлы, которые хотел использовать, с помощью этого веб-сайт и потоковая передача работали.

Примечание. Это решение очень шумное. Я ищу, как я могу это исправить.

person Dan    schedule 28.10.2015