今天特別分享VoLTE通話功能示例,感興趣的朋友一起來學(xué)。
VoLTE通話功能示例
Air201模組的4G通信功能,通過VoLTE技術(shù)實(shí)現(xiàn)高清語音通話,支持音頻編解碼、硅麥輸入和喇叭輸出。在通話過程中,聲音信號通過MIC捕捉并轉(zhuǎn)換為數(shù)字音頻數(shù)據(jù),經(jīng)4G網(wǎng)絡(luò)實(shí)時傳輸至對方設(shè)備。
這一應(yīng)用廣泛適用于物聯(lián)網(wǎng)設(shè)備中的遠(yuǎn)程通信、語音交互等場景,提供便捷、高效的通話服務(wù)。
www.air201.cn
注:Air201最大可支持8Ω 1.2W功率喇叭(默認(rèn)),或者4Ω 2.5W功率喇叭。
本文將通過Air201+喇叭+擴(kuò)展板進(jìn)行相關(guān)演示,教你使用VoLTE通話功能示例,在實(shí)際開發(fā)中可根據(jù)具體情況靈活應(yīng)用。
一. 搭建環(huán)境
新同學(xué)建議先看前期的基礎(chǔ)知識相關(guān)教程,更有助于理解和操作。
可以在LuaTools項(xiàng)目管理中新建一個項(xiàng)目,重新選擇底層CORE和腳本;或者在原有項(xiàng)目的基礎(chǔ)上,不更換CORE,將原來的腳本刪除,添加為demo/cc的腳本。
1.1 硬件準(zhǔn)備:
Air201 PCBA
Air201-BTB擴(kuò)展板(帶一個FPC線)
配套USB_BOOT小板、喇叭
可正常上網(wǎng)及通話的SIM卡
帶有數(shù)據(jù)通信功能的數(shù)據(jù)線
Win10及以上PC
Air201通過FPC線連接BTB擴(kuò)展板,使用擴(kuò)展板上的按鍵,接線如下所示:
1.2 軟件準(zhǔn)備:
LuaTools調(diào)試工具:
https://docs.openluat.com/Luatools
最新固件:https://gitee.com/openLuat/LuatOS-Air201/tree/master/core
最新腳本:
https://gitee.com/openLuat/LuatOS-Air201/tree/master/demo/cc
https://docs.openluat.com/air201/luatos/api/core/cc
1.3 燒錄操作:
由于Air201單板子沒有復(fù)位鍵和BOOT鍵,所以數(shù)據(jù)線與Air201開發(fā)板之間還需要接一個USB_BOOT板(Air201套件里已包含)。
將Air201通過USB_BOOT小板連接電腦,如下圖所示:
1.3.1 根據(jù)下方操作進(jìn)行燒錄
此時就需要大家先點(diǎn)擊Luatools工具上的【下載腳本】或【 下載底層和腳本】,再執(zhí)行下方操作了。
新同學(xué)請先學(xué)習(xí)LuaTools使用和燒錄教程:
https://docs.openluat.com/Luatools/
開發(fā)板處于未開機(jī)狀態(tài):
此時先按住下載模式按鍵(BOOT鍵)不放,再長按開機(jī)鍵(POW鍵)開機(jī)。若不出意外開發(fā)板將會進(jìn)入下載模式,LuaTools工具下載進(jìn)度條會開始跑,這時便可以松開BOOT鍵和POW鍵,等到工具提示下載完成即可。
開發(fā)板已經(jīng)處于開機(jī)狀態(tài):
此時可以先按住BOOT鍵不放,再短按復(fù)位鍵(RST鍵)后開發(fā)板會重啟并進(jìn)入下載模式。
1.3.2 不同模式下的端口顯示
正常開機(jī)模式:
下載模式:
二. 示例代碼
2.1 初始化驅(qū)動ES8311
Air201板子自帶了ES8311音頻編解碼芯片(Audio Codec),所以硬件配置參數(shù)是固定的。
ES8311使用了I2C0,電源腳為GPIO2,PA控制腳為GPIO23:
2.2 訂閱通話狀態(tài)
通過sys.subscribe函數(shù)訂閱了一個名為CC_IND的事件。當(dāng)這個事件被觸發(fā)時,會調(diào)用后面的匿名函數(shù),傳入一個參數(shù) state,表示當(dāng)前的通話狀態(tài)。
2.3 注冊音頻事件回調(diào)函數(shù)
2.4 通訊錄列表
2.5 通話管理狀態(tài)機(jī)
1)IDLE(空閑狀態(tài)):
系統(tǒng)處于等待狀態(tài),準(zhǔn)備接收來電或撥號。
轉(zhuǎn)移條件:
2)WAIT_CALLING(等待呼叫狀態(tài)):
系統(tǒng)在等待后續(xù)的撥號操作。
轉(zhuǎn)移條件:
3)CALLING(撥號中狀態(tài)):
正在撥打電話。
轉(zhuǎn)移條件:
4)PREPARE(準(zhǔn)備通話狀態(tài)):
準(zhǔn)備接聽來電或撥打電話。
轉(zhuǎn)移條件:
5)CONNECTING(通話中狀態(tài)):
準(zhǔn)備接聽來電或撥打電話。
轉(zhuǎn)移條件:
6)DISCONNECTING(掛斷流程狀態(tài)):
處理掛斷電話的流程。
轉(zhuǎn)移條件:
2.6 呼叫,掛斷按鍵配置
2.7 運(yùn)行結(jié)果展示
通過LuaTools工具,查看相關(guān)運(yùn)行結(jié)果。
1)模組主動撥打電話
空閑狀態(tài)下按下按鍵1,默認(rèn)撥打通訊錄第一位聯(lián)系人,日志打印顯示如下:
2)模組主動掛斷電話
通話狀態(tài)下按下按鍵2,掛斷電話,日志打印顯示如下:
三. 總結(jié)
CC庫的通話管理API接口共同構(gòu)成了通話控制的核心功能,使開發(fā)者能夠高效地管理通話的啟動、掛斷、接聽、參數(shù)配置以及附加的通話處理功能。
通過合理利用這些接口,開發(fā)者可以構(gòu)建出具備出色通話體驗(yàn)的應(yīng)用程序,滿足用戶在多種通話場景下的需求。同時,也需關(guān)注接口之間的協(xié)同配合,以確保通話功能的流暢性和可靠性。
今天的分享就到這里了~
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2909文章
44557瀏覽量
372749 -
模組
+關(guān)注
關(guān)注
6文章
1487瀏覽量
30359 -
遠(yuǎn)程通信
+關(guān)注
關(guān)注
0文章
49瀏覽量
12573
發(fā)布評論請先 登錄
相關(guān)推薦
評論