2010-10-08 153 views
4

我對藍牙應用程序開發完全陌生。藍牙配置文件究竟是什麼?它是設備的硬件規格嗎?可以在A2DP配置文件中將具有藍牙功能的Android手機用作發送者和接收者嗎?藍牙A2DP配置文件

回答

4

藍牙配置文件是關於藍牙設備的協議和功能的規範。這不僅僅是硬件規範,因爲實現配置文件通常取決於軟件堆棧和硬件芯片。您可以從wikipedia page中找到更多信息。

而在A2DP的情況下,它是專門爲音樂流媒體設計的。它不能用於任意數據通信(如果這就是「發送者和接收者」的意思)。如果您正在尋找通過藍牙傳輸的通用數據通信機制,則串行端口配置文件(SPP)就是您需要的(有些人也稱之爲RFCOMM)。 Android SDK用戶指南有關於如何使用RFCOMM API的相當詳細的信息:http://developer.android.com/guide/topics/wireless/bluetooth.html

+0

所以我的問題:藍牙耳機中的藍牙模塊和手機中的藍牙模塊是完全一樣的嗎?我可以使用A2DP從另一部手機使用我的手機播放音樂嗎? – 2010-10-08 08:21:37

+1

我明白了。如果您正在討論現成的Android手機,我不知道任何可以充當A2DP接收器的手機。 – onlygo 2010-10-08 08:33:30

+0

我準備寫一個應用程序。但有可能在手機中使用正常的藍牙模塊。還是需要一個特殊的藍牙模塊? – 2010-10-08 08:36:15

1

有兩個A2DP配置文件:A2DP源(發送音頻的設備)和A2DP接收器(接收和播放音頻的設備)藍牙耳機。

您的手機硬件支持這兩個配置文件,但A2DP接收器不是在Android中實現的,因此您不能直接編寫應用程序來使用它。您需要修改Android源代碼並構建您自己的ROM。

如果您想這樣做,您需要帶有可用源代碼的設備(Nexus或CyanogenMod支持的設備)。

如果您使用的是Android 5或更高版本,不會很難啓用A2DP接收器,因爲它已經包含在源代碼中,但已禁用。

如果您使用Android 4.2 -4.4你需要移植A2DP接收器類從Android的5

至於Android作爲他們使用也稱BlueZ不同的藍牙堆棧,在4.2之前的東西是不同的(現在他們使用Bluedroid )你可以通過紮根你的設備並編輯「audio.conf」文件來激活A2DP Sink,但不幸的是,即使你的手機將自己宣傳爲A2DP接收器,你也將聽不到任何聲音,因爲它沒有路由到揚聲器並且路由它,建立一個修改的ROM。

構建ROM可能看起來很複雜,但並非如此,特別是如果您使用Android 5或更高版本,就像我之前說過的那樣,SINK配置文件已經存在,您需要做的只是在終端中輸入6行(您需要一個Linux操作系統)並編輯3行代碼來啓用A2SP接收器並構建您自己的ROM。 如果您對此感興趣,我可以提供更多詳情。