2013-12-05 3 views
17

BlueZ는 많은 문서와 모든 것을 가지고 있습니다. 또한 BlueZ는 A2DP 싱크 지원을 지원합니다. 동시에 안드로이드 장치는 내부의 audio.conf 파일을 수정하여 A2DP 싱크 역할을 할 수 있습니다.BlueZ 대 Bluedroid 블루투스 스택

또한 Android 4.2 이상에서 BlueZ 스택이 Broadcom의 Bluedroid 스택으로 대체되었음을 알게되었습니다. Bluedroid 스택에 대해 많이 검색했습니다. 그러나 나는 같은 것에 관해 많은 세부 사항을 발견 할 수 없었다.

누군가가 다음과 같은 의문을 가지고 나를 도울 수 있기를 바랍니다.

1). Bluedroid가 A2DP 싱크를 지원하는지 여부

2). audio.conf 파일을 블루투스 스택이있는 장치에서 사용할 수 있습니까?

3). BlueZ 스택의 API를 직접 호출하여 안드로이드 장치에 대한 A2DP 싱크 지원을 작성하겠습니다. 하지만 내 마지막 질문은 Bluedroid 스택에서도 사용할 수 있는지 여부입니다. 희망 Bluedroid는 BlueZ의 확장 일뿐입니다.

도와주세요.

답변

13

Bluedroid는 Broadcom에서 제공하는 스택이며 현재 Android에서 opensource입니다. Bluedroid는 bluez와 관련이 없습니다. Bluez보다 약간의 장점이 있습니다 (다른 점은 다릅니다).

[1]. Bluedroid는 현재 코드 별 이용 가능 여부에 따라 a2dp 싱크 지원을 제공하지 않습니다. source code a2dp 소스 지원 만 가능합니다.

[2]. Audio.conf 파일은 bluez 스택을위한 것으로, bluedroid의 일부가 아닙니다.

[3]. Bluez API를 직접 호출 - 당신은 dbus 호출을 사용하지만 bluedroid는 dbus 메소드 호출을 지원하지 않는다고 생각합니다. 콜백 메커니즘이 구현되어 있기 때문에 작동하지 않습니다. bluedroid는 bluez의 확장이 아닙니다.

+1

그 중 최고의 답변 중 하나였습니다. 정말 고맙습니다. 내 모든 혼란 해결 :) –

+0

한 가지 더 알고 싶습니다. 안드로이드 4.3 이상에서 BlueZ 스택 전체가 Bluedroid 스택으로 대체 되었습니까? 또는 둘 모두는 역 호환성을 지원하는 방식으로 통합됩니다. 그 질문이 어떤 의미에서 의미가 있는지 나는 모른다. 그러나 나는 단지 이것을 확인하고 싶다. 같은 연구를 계속 진행하고 싶다. :) –

+0

어떤 벤더가 여전히 bluez을 사용하고 싶다면 그는 안드로이드 빌드의 설정 변경으로 할 수 있다고 생각한다. – ashish

3

A2DP 싱크 역할은 이제 Android Lollipop (5.0)에서 지원됩니다. 그들은 Bluedroid 소스 코드를 수정하여 동일한 기능을 지원합니다. 이 기능을 완벽하게 지원하려면 오디오 HAL (audio.h), AudioPolicyManagerBase.cpp 및 audio_policy.conf 및 오디오 관리자, A2DPStateMachine 등을 수정해야합니다.

+0

당신은'A2DP' 싱크 역할을 완벽하게 지원하는 방법에 대한 가이드를 가르쳐 줄 수 있습니까? – tchelidze

2

사용자 987500에 따르면 A2DP 싱크는 Android L에서만 지원되며 사소한 수정을하면 장치가 A2DP src에서 싱크대로 바뀔 수 있습니다. 그러나 XML 파일에서 구성 할 수있는 하나의 장치에 대해 하나의 역할 만 지원할 수 있어야합니다.

+0

** 변경 사항을 약간만 수정 ** ** ** ** ** ** 당신은 그것에 대해 더 구체적으로 설명 할 수 있습니까? – tchelidze

0

위의 답변에 추가하면 Android L, 싱크대 지원이 도입되었지만 여전히 오디오 스트리밍 코드 부분이 완료되지 않았기 때문에.

블루투스 A2DP 싱크

: 그러나, 나는 변경 목록의 커밋 메시지에서 언급 한 바와 같이 A2DP 싱크 구현이 완료되고 미디어 싱크 장치를 통해 재생할 수 있습니다 this 변경 목록을 발견했다 이 변경은 A2DP 싱크 기능을 구현합니다. 안드로이드 장치가 싱크 역할 인 경우 BT를 통해 전화로 음악을 수신 할 수 있습니다. 이 기능은 을 멀티미디어 카 키트, 셋톱 박스 및 가족 HiFi에 적용 할 수 있습니다. A2DP 싱크를 사용하도록 설정하려면 BoardConfig.mk에서 BLUETOOTH_A2DP_SINK : = true로 설정하십시오. bluedroid에서 featue를 설정하십시오.

음악을 스피커로 라우트하려면 프레임 워크에서 아래 변경 사항이 필요합니다. 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/

이 변경 https://android-review.googlesource.com/#/c/97832/ SBC는 디코더를 포함하지 않는다. github.com/tieto/sbc-decoder에서 SBC 디코더 을 얻을 수 있습니다.

모두 최고 !!!

+0

이 더 멀어지면 문제가 [andoroid 4.4. *']에 적용됩니다 (https://android-review.googlesource.com/#/c/98161/). 패치의 변경 사항은 이미 Android L에 적용되어 있습니다 (* 아마 부분적으로 *). – tchelidze