1. 程式人生 > >linux車機端carlife移植、開發

linux車機端carlife移植、開發

針對linux平臺,百度僅僅提供 carlife通訊庫及其原始碼,其他功能都需要自己開發(android端比較簡單,直接提供apk),所以移植carlife到linux車機端,工作量還是比較大的,前後花了一個多月才開發完成。

目前aoa通道、音視訊、反控都除錯完成,導航、音樂功能都可用,測試比較穩定。

系統劃分為以下七個模組,各模組主要功能如下

1、protobuf模組

libprotobuf.so,為gooogle 開源庫,用於封裝和解析carlife協議報文。

2carlifevehicle模組

libcarlifevehicle.so,封裝了對calife各個通道和功能的處理函式,由百度提供。

3

carlifeservice模組

libcarlifeservece.so,為UI提供連線管理和反控事件傳送介面,同時內部實現了carlife資料解析、緩衝區管理、聲音和視訊通道管理、音視訊播放等功能。

4aoa轉發伺服器模組

aoaproxy程序,實現usb aoa功能協商,usb轉發等功能。

5、音訊播放模組

libtinyplay.so,提供音訊播放介面。

6、視訊播放模組

libh264xplayer.so,提供視訊播放介面。

7、介面模組

carlifedemo程序,實現UI功能、carlife連線管理和觸屏事件轉發。

難點模組是carlifeservice模組和aoa轉發伺服器模組