透過藍牙,裝置可以傳輸可用於互動式服務(例如音訊、訊息傳遞和電話)的資料。用於不同服務的藍牙設定檔可以在include/hardware/bluetooth.h
中找到。
聲音的
藍牙連接允許用戶在支援藍牙的裝置上傳輸音訊。對於大多數音訊用例,Android 裝置是來源,渲染裝置(例如揚聲器或耳機)是接收器。
絕對音量控制
在 Android 6.0 及更高版本中,Android 藍牙堆疊允許來源設定絕對音量,使用戶能夠準確控制音訊音量。來源設備將未衰減的音訊和音量資訊傳送到接收器。然後接收器根據音量資訊放大音頻,以便用戶聽到準確的播放音量。
來源設備還可以註冊音量通知。當透過接收器上的控制進行音量變更時,接收器會向來源發送通知。這使得來源可以在使用者介面上準確地顯示音量資訊。
絕對音量控制預設為開啟。若要停用絕對音量控制,使用者可以前往「設定」 > “系統”> “開發者選項” ,然後選擇「停用絕對音量」開關。
高級音訊編解碼器
在 Android 8.0 中,使用進階音訊分發設定檔 (A2DP) 的裝置可以支援其他音訊編解碼器。當裝置連接到遠端音訊接收器時,藍牙堆疊支援音訊編解碼器協商。此協商選擇發送方和接收方都支援的最佳編解碼器,以提供高品質的音訊。選擇後,所有音訊都透過所選編碼器路由,然後發送到接收器。
執行
運行支援 A2DP 的 Android 8.0 的裝置會自動獲得額外的編解碼器支援。設備製造商可能需要為某些專有音訊編解碼器取得單獨的授權和二進位 blob。除了 SBC 之外,Android 8.0 還支援以下編解碼器:
- 亞克力
- aptX
- aptX高清
- LDAC
設備製造商可以選擇其設備首先嘗試使用的編解碼器。透過更改res/values/config.xml
中的以下值來設定編解碼器優先權:
<!-- Configuring priorities of A2DP source codecs. Larger value means higher priority. Value -1 means the codec is disabled. Value 0 is reserved and should not be used here. Enabled codecs should have priorities in the interval [1, 999999], and each priority value should be unique. --> <integer name="a2dp_source_codec_priority_sbc">1001</integer> <integer name="a2dp_source_codec_priority_aac">2001</integer> <integer name="a2dp_source_codec_priority_aptx">3001</integer> <integer name="a2dp_source_codec_priority_aptx_hd">4001</integer> <integer name="a2dp_source_codec_priority_ldac">5001</integer>
LDAC認證
Android 開源專案包含適用於索尼 LDAC 編解碼器的編碼器,因此不需要索尼的單獨授權或 blob。若要將 LDAC 編解碼器整合到您的裝置中,請向 Sony 註冊並遵循LDAC 認證流程。
LDAC認證網站上有關於LDAC的文檔,例如規格和操作手冊。 LDAC 站點還提供針對行動和平板電腦設備的驗證和互通性測試。將通過的測試結果發送給索尼以完成 LDAC 認證。
使用者介面功能
除了額外的編解碼器支援之外,Android 8.0 還提供面向使用者的設定來停用高清 (HD) 藍牙音訊編解碼器。
- 導航至設定>連接的裝置>藍牙。
- 點選要停用編解碼器的接收器旁的齒輪圖示。
- 取消選取高清音訊複選框。
自訂設定的裝置製造商應該為使用者提供停用高清編解碼器的方法。
訊息傳遞
透過藍牙傳送訊息,使用者可以從遠端裝置讀取、瀏覽和撰寫 SMS 訊息。將手機連接到車載資訊娛樂系統時通常會使用此功能。
電話
藍牙電話服務可讓用戶將通話串流並將聯絡人從手機同步到另一台藍牙裝置。這些功能通常用於駕駛時的免持通話。
在Android 8.0中,藍牙支援帶內鈴聲。當透過藍牙連接的手機收到來電時,接收器上將播放鈴聲。透過選擇啟用帶內鈴聲的開關,在「設定」 > “系統” > “開發者選項”中啟用帶內鈴聲。
藍牙功能
為了實現藍牙服務,藍牙堆疊支援各種設定檔和功能。
藍牙設定檔
這些設定檔可用於藍牙:
特徵 | 安卓版本 | |||||
---|---|---|---|---|---|---|
姓名 | 描述 | 6.0 | 7.0 | 7.1 | 7.1.2 | 8.0 |
樹液 | SIM 卡存取設定檔 | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 |
地圖 | SMS 的訊息存取設定檔 | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
OPP | 對象推送設定檔 | 1.1 | 1.1 | 1.1 | 1.1 | 1.2 |
透過 L2CAP 的 OBEX | 透過邏輯鏈路控制和適配協議的物件交換 | 是的 | 是的 | 是的 | 是的 | 是的 |
HFP 音訊網關 | 免持設定檔 | 1.6 | 1.6 | 1.7 | 1.7 | 1.7 |
熱休克蛋白 | 耳機簡介 | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
A2DP | 進階音訊分發設定檔 | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
AVRCP | 音訊/視訊遠端控製設定檔 | 1.3 | 1.3 | 1.3 | 1.3 | 1.4 |
高壓氣體放電管 | 人機介面設備設定檔 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
PBAP | 電話簿存取設定檔 | 1.1.1 | 1.1.1 | 1.1.1 | 1.1.1 | 1.2 |
HDP | 健康設備設定檔 | 1.0 | 1.0 | 1.1 | 1.1 | 1.1 |
SPP | 串口設定檔 | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
潘/BNEP | 個人區域網路設定檔/藍牙網路封裝協議 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
沾 | 設備 ID 設定文件 | 1.3 | 1.3 | 1.3 | 1.3 | 1.3 |
HOGP 1.0 | HID 優於 GATT | 是的 | 是的 | 是的 | 是的 | 是的 |
高清音訊1 | 請參閱上面的“高級音訊編解碼器” | 不 | 不 | 不 | 不 | 是的 |
1高清音訊的實現取決於設備功能,包括來源和接收器。
藍牙低功耗特性
這些功能可用於 BLE:
特徵 | 安卓版本 | ||||
---|---|---|---|---|---|
姓名 | 6.0 | 7.0 | 7.1 | 7.1.2 | 8.0 |
BR/EDR 安全連接 | 4.1 | 4.1 | 4.1 | 4.1 | 5.0 |
LE 隱私 | 4.2 | 4.2 | 4.2 | 4.2 | 5.0 |
LE 安全連接 | 4.2 | 4.2 | 4.2 | 4.2 | 5.0 |
資料包擴充 | 4.2 | 4.2 | 4.2 | 4.2 | 5.0 |
32 位元 UUID | 是的 | 是的 | 是的 | 是的 | 是的 |
雙模式 LE 中央/週邊 | 是的 | 是的 | 是的 | 是的 | 是的 |
LE 週邊模式 | 是的 | 是的 | 是的 | 是的 | 是的 |
谷歌人機互動要求 | 是的 | 是的 | 是的 | 是的 | 是的 |
LE 面向連線的頻道 | 不 | 不 | 不 | 不 | 不 |