本文適用範圍
ADK22.3~
問題/功能描述
藍牙播放歌曲的屬性如何獲取
實現方案
想要了解更多關於synergy信息,可以參看前面博文
QCC51xx系列開發之Synergy Bluetooth模塊目錄結構介紹 - 大大通(簡體站) (wpgdadatong.com.cn)
QCC51xx系列開發之synergy模塊log輸出控制 - 大大通(簡體站) (wpgdadatong.com.cn)
QCC51xx系列開發之Synergy 使用之電池電量顯示
正文開始,市場上藍牙耳機開始流行掛屏顯示功能,用來豐富耳機功能.所以就有客戶詢問,如何支持獲取歌曲屬性包括(歌名,歌詞,專輯封面,藝術家),歌曲列表等功能.本文將在QCC3083平台使用synergy協議演示在藍牙音頻播放中歌名和歌詞的獲取過程.以此幫助大家進一步的了解和使用synergy.
演示環境
- QCC3083開發板
- 使用工程ADK-23.3-MR-r00784.1 0.0.784.1 headset
實現過程
- 開啟必需功能的宏定義
歌曲屬性訪問是歸屬於AVRCP協議中的可選功能,默認代碼是關閉狀態.


- 應用層註冊對應需要獲取的AVRCP通知事件
演示代碼為簡便操作直接修改了默認通知位置如下

3.收到狀態改變通知時,主動發送獲取歌曲屬性的請求

4.獲取狀態信息後處理

5.調試信息展示
中文歌詞

英文歌詞

其它文字-日文
藏文

提高擴展
通常這些屬性信息不是孤立獲取,需要配合各種事件狀態要在恰當及時的獲取和更新,所以實際應用中也要考慮周全.不然像個技術直男一樣貿然的上來就發出請求訪問,會被無視
拒絕甚至宕機.切記切忌.
常見問題
- 功能使用有什麼特別要求
對音樂播放器有要求,需要播放器支持藍牙歌詞同步功能,測試用網易雲音樂,需要在設置中開啟外接設備藍牙歌詞,方可正常獲取
- 歌詞怎麼解析出來
歌詞編碼是UTF-8格式,顯示需要支持哪些語言,就需要外接對應字庫.可以轉換為unicode編碼便於檢索.
- 歌名和歌詞是一次性獲取的嗎?
不是,需要根據歌曲狀態改變主動獲取,接受到歌詞狀態改變通知主動發送給藍牙,藍牙收到後主動發送請求.
- 其他屬性如何獲取
同樣接口AvrcpCtGetAttributesReqSend,參數使用不同mask表示不同屬性.
5.有沒有官方文檔介紹說明
可以參考文檔80_13827_1,80-34461-1
評論
Jack
2024年7月1日
王工
2024年5月27日