BlueZ vs Bluedroid bluetooth stack

BlueZ имеет много документов и все. И из того же, я понял, что BlueZ поддерживает поддержку A2DP. И в то же время устройство Android может быть сделано как приемник A2DP, изменив файл audio.conf внутри того же самого.

Я также узнал, что с Android 4.0 и далее пакет BlueZ был заменен стеком Broadcom Bluedroid. Я много искал о стеке Bluedroid. Но я не смог найти много деталей об этом.

Надеюсь, кто-то может помочь мне со следующими сомнениями.

1). Поддерживает ли Bluedroid поддержку раковины A2DP?

2). Будет ли файл audio.conf доступен для устройств, имеющих стек bluedroid?

3). Я собираюсь написать поддержку A2DP-приемника для устройства Android, напрямую вызвав API из пакета BlueZ. Но мой последний вопрос заключается в том, можно ли использовать его также с стеклом Bluedroid? Надежда Bluedroid - это просто расширение BlueZ.

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

17
задан Nidhin Joseph 05 дек. '13 в 21:00
источник поделиться
4 ответов

Bluedroid - это стек, предоставляемый Broadcom и теперь с открытым исходным кодом в Android. Bluedroid не имеет отношения к bluez в любом отношении, он имеет несколько преимуществ по сравнению с bluez (я отличаюсь этим).

[1]. Bluedroid не имеет поддержки s2dp-приемника на данный момент, поскольку доступный код исходный код доступен только поддержка источника a2dp

[2]. Файл Audio.conf для стека bluez, он не является частью bluedroid

[3]. Непосредственный вызов Bluez API - я думаю, вы будете использовать вызовы dbus, но bluedroid не поддерживает вызовы методов dbus, у него есть механизм обратного вызова, поэтому он не будет работать, bluedroid не является расширением bluez.

13
ответ дан ashish 06 дек. '13 в 9:16
источник поделиться

Роль A2DP Sink теперь поддерживается в Android Lollipop (5.0). Они модифицировали исходный код Bluedroid для поддержки того же. Чтобы полностью его поддержать, вам необходимо изменить аудио HAL (audio.h), AudioPolicyManagerBase.cpp и audio_policy.conf, а также Audio Manager, A2DPStateMachine и т.д.

3
ответ дан theangrylama 30 нояб. '14 в 19:33
источник поделиться

Как сказал user987500, приемник A2DP поддерживается в android L, только внести незначительные изменения, вы можете изменить устройство с A2DP src на потоковое. Но убедитесь, что для одного устройства может поддерживаться только одна роль, которую можно настроить из XML файла.

2
ответ дан Boatman_Yang 05 авг. '15 в 10:23
источник поделиться

Добавление к вышеуказанным ответам, так как Android L, поддержка приемника введена, но все же часть аудиопотока кода не завершена. Тем не менее, я нашел этот список изменений, в котором реализована реализация приемника a2dp, и медиа может воспроизводиться через приемное устройство, как указано в сообщении фиксации изменения список:

Разъем Bluetooth A2DP

Это изменение реализует функцию приемника A2DP. Если устройство Android роль приемника, он может получать музыку с телефона через BT. Эта функция может применять в мультимедийном автомобильном комплекте, приставке и семейной HiFi. Задавать BLUETOOTH_A2DP_SINK: = true в BoardConfig.mk для включения A2DP Sink featue в bluedroid.

Вам также понадобятся следующие изменения в рамках маршрута для оратор. https://android-review.googlesource.com/#/c/97832/ https://android-review.googlesource.com/#/c/97853/ https://android-review.googlesource.com/#/c/97833/ https://android-review.googlesource.com/#/c/98130/ https://android-review.googlesource.com/#/c/98131/

Это изменение не включает декодер SBC. Вы можете получить декодер SBC от github.com/tieto/sbc-decoder.

Все самое лучшее!!!

0
ответ дан aksonlyaks 21 окт. '16 в 15:00
источник поделиться

Другие вопросы по меткам или Задайте вопрос