2015-10-27 12 views
1

Я пытаюсь подключить некоторые Android-телефоны вместе, чтобы передавать музыку.Как передавать музыку через несколько телефонов по bluetooth

Набор вверх, как это,

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

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

A <--> B <--> C 

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

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

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

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

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

Есть ли другие возможности передачи по Bluetooth? или другие потоковые классы. Я мог бы попробовать и использовать, как только данные находятся в B?

Благодаря

+0

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

+0

Я начал это делать, но я действительно надеялся использовать что-то, что существует. – Dan

ответ

0

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

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

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

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

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