藍牙|軟體 QCC51xx系列開發之Synergy 使用之音樂名稱/歌詞的獲取

本文適用範圍

    ADK22.3~



問題/功能描述

    藍牙播放歌曲的屬性如何獲取

實現方案

想要了解更多關於synergy信息,可以參看前面博文

QCC51xx系列開發之Synergy Bluetooth模塊目錄結構介紹 - 大大通(簡體站) (wpgdadatong.com.cn)

QCC51xx系列開發之synergy模塊log輸出控制 - 大大通(簡體站) (wpgdadatong.com.cn)

 QCC51xx系列開發之Synergy 使用之電池電量顯示

正文開始,市場上藍牙耳機開始流行掛屏顯示功能,用來豐富耳機功能.所以就有客戶詢問,如何支持獲取歌曲屬性包括(歌名,歌詞,專輯封面,藝術家),歌曲列表等功能.本文將在QCC3083平台使用synergy協議演示在藍牙音頻播放中歌名和歌詞的獲取過程.以此幫助大家進一步的了解和使用synergy.

 

演示環境

  1. QCC3083開發板
  2. 使用工程ADK-23.3-MR-r00784.1 0.0.784.1 headset

 

實現過程

  1. 開啟必需功能的宏定義

               歌曲屬性訪問是歸屬於AVRCP協議中的可選功能,默認代碼是關閉狀態.

               

             
            
             

  1. 應用層註冊對應需要獲取的AVRCP通知事件

               演示代碼為簡便操作直接修改了默認通知位置如下

              

 

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

           
        

 

 4.獲取狀態信息後處理

     


 

   5.調試信息展示

          中文歌詞


          

          英文歌詞 

         其它文字-日文        

             

         藏文

 

        

         提高擴展

                 通常這些屬性信息不是孤立獲取,需要配合各種事件狀態要在恰當及時的獲取和更新,所以實際應用中也要考慮周全.不然像個技術直男一樣貿然的上來就發出請求訪問,會被無視 

        拒絕甚至宕機.切記切忌.

 

常見問題

  1. 功能使用有什麼特別要求

               對音樂播放器有要求,需要播放器支持藍牙歌詞同步功能,測試用網易雲音樂,需要在設置中開啟外接設備藍牙歌詞,方可正常獲取

  1. 歌詞怎麼解析出來

              歌詞編碼是UTF-8格式,顯示需要支持哪些語言,就需要外接對應字庫.可以轉換為unicode編碼便於檢索.

  1. 歌名和歌詞是一次性獲取的嗎?

               不是,需要根據歌曲狀態改變主動獲取,接受到歌詞狀態改變通知主動發送給藍牙,藍牙收到後主動發送請求.

  1. 其他屬性如何獲取

              同樣接口AvrcpCtGetAttributesReqSend,參數使用不同mask表示不同屬性.

     5.有沒有官方文檔介紹說明

           可以參考文檔80_13827_1,80-34461-1

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論

Jack

Jack

2 個月前
添加该功能有bug,比如手机控制暂停,马上按按键播放是无效的,再按一次就没有问题
王工

王工

3 個月前
你好!能否加微信聊聊?有几个问题请教一下