linux車機端carlife移植、開發
阿新 • • 發佈:2019-02-17
針對linux平臺,百度僅僅提供 carlife通訊庫及其原始碼,其他功能都需要自己開發(android端比較簡單,直接提供apk),所以移植carlife到linux車機端,工作量還是比較大的,前後花了一個多月才開發完成。
目前aoa通道、音視訊、反控都除錯完成,導航、音樂功能都可用,測試比較穩定。
系統劃分為以下七個模組,各模組主要功能如下
1、protobuf模組
libprotobuf.so,為gooogle 開源庫,用於封裝和解析carlife協議報文。
2、carlifevehicle模組
libcarlifevehicle.so,封裝了對calife各個通道和功能的處理函式,由百度提供。
3、
libcarlifeservece.so,為UI提供連線管理和反控事件傳送介面,同時內部實現了carlife資料解析、緩衝區管理、聲音和視訊通道管理、音視訊播放等功能。
4、aoa轉發伺服器模組
aoaproxy程序,實現usb aoa功能協商,usb轉發等功能。
5、音訊播放模組
libtinyplay.so,提供音訊播放介面。
6、視訊播放模組
libh264xplayer.so,提供視訊播放介面。
7、介面模組
carlifedemo程序,實現UI功能、carlife連線管理和觸屏事件轉發。
難點模組是carlifeservice模組和aoa轉發伺服器模組。