您現在的位置是:首頁 > 藝術

藍芽電話之HFP協議中的電話音訊

由 Connectivity 發表于 藝術2023-02-06
簡介音訊鏈路SCO或eSCO建立成功後,藍芽系統會以 AUDIO_STATE_CHANGED 的廣播通知註冊過的應用,並且HF側的藍芽晶片會將接收到的語音資料透過PCM介面送入audio系統,那系統的audio模組是如何操作避免多音源輸出呢

藍芽連線hfp什麼意思

藍芽電話之HFP—電話音訊

藍芽技術通訊的內容多種多樣,其中音訊部分包含媒體音訊和電話音訊。

藍芽電話之HFP協議中的電話音訊

藍芽裝置互動

媒體音訊

:播放藍芽音樂的資料,這種音訊對質量要求高,資料傳送有重傳機制,從而以l2cap的資料形式走ACL鏈路。編碼方式有:SBC、AAC、APTX、APTX_HD、LDAC這五種編碼方式,最基礎的編碼方式是SBC,支援藍芽多媒體播放的裝置必須支援該編碼方式,編碼質量最好的是LDAC。編碼方式的選取需要藍芽連線裝置間的互相協商確定。

電話音訊

:藍芽通話過程的語音資料,這種音訊對時效性有高要求,一般透過特殊的SCO或eSCO鏈路傳輸資料。編碼方式有:CVSD、mSBC。最基礎的編碼方式為CVSD,擴音藍芽裝置都需支援該編碼方式,支援寬頻語音的裝置可選mSBC編碼資料。

藍芽電話之HFP協議中的電話音訊

藍芽電話的編碼方式

CVSD

:該編碼方式的資料傳輸使用SCO或eSCO鏈路。鏈路的選取是根據本端Controller是否支援Enhanced Setup Synchronous Connection指令來決定的,如果支援該命令則建立語音音訊鏈路時使用eSCO,否則建立SCO鏈路。

mSBC

:該編碼方式的資料傳輸只能使用eSCO鏈路。

音訊鏈路SCO或eSCO建立成功後,藍芽系統會以 AUDIO_STATE_CHANGED 的廣播通知註冊過的應用,並且HF側的藍芽晶片會將接收到的語音資料透過PCM介面送入audio系統,那系統的audio模組是如何操作避免多音源輸出呢 ?

這其實還是和藍芽電話應用密切相關的,藍芽電話收到音訊鏈路建立成功的廣播後透過AudioManager。requestAudioFocus()申請到系統的音訊焦點後,audio模組會根據申請焦點的stream type判斷其級別,高級別的音源可以打斷低級別的音源(比如:聽音樂時打電話,會先暫停掉音樂)。藍芽電話還需要透過AudioManager。setMode()介面通知audio底層開啟通話通道,從而播放出通話語音。

藍芽電話一般還會有個電話靜音功能,開啟靜音功能後,本端可以聽到對方的語音,但對方聽不到本端的語音,這樣一個功能其實只需要將本端的收音裝置給靜音掉就可實現。AudioManager。setMicrophoneMute()設定true,將Mic靜音。

由於藍芽電話語音的傳輸途徑為:phone Audio -> PCM -> AG基帶 -> HF基帶 -> PCM -> Audio,以及反方向。那麼語音資料都是在底層傳輸的,上層基本涉及不到,從而開發藍芽電話時獲取語音資料就顯得尤為困難,但方法也是有的。

在音訊資料傳輸的各個節點儲存資料檔案(如PCM輸入輸出),使用音訊分析軟體檢視

藍芽抓包工具抓取通話的空口資料(如 Ellisys或Frontline工具)

電話音訊的分析就先到這裡,後續有新的想法我會再更新相關文章的,感興趣的小夥伴歡迎私信留言一起討論。

想了解更多精彩內容,快來關注Connectivity

推薦文章

  • 信用卡欠款怎麼還難壞卡主

    為曾某漢補辦手機卡的通訊運營商、新開儲蓄卡的銀行,以及信用卡髮卡行三方均存在過失,許先生因信用卡被盜刷而遭受的其他實際損失,可以要求這三方進行賠償...

  • 成都喜迎一所“網紅”新校區,佔地1500畝引關注,助力教育崛起!

    這所學校就是成都體育學院的新校區,從2021年2月12日開始,成都體育學院的整體遷建的專案就在成都的天賦國際新城舉行了開工儀式,這個專案規定成都體育學院的新校區建立在天府奧體城的核心區域,臨近風景秀麗的三岔湖...

  • 淺談電容的高頻特性

    所以一個高頻電容的等效電路如下圖所示:進一步電容器的阻抗表示式可以詳細表達如下:所以電容的阻抗絕對值和頻率的關係如下圖所示:解析:在低頻時,其電阻器的阻抗是線性下降,表現為容性特質...