论文部分内容阅读
随着人民生活水平的提高,私家车已成为大多数家庭的必需品,而汽车上的车载平台娱乐系统也成为人们行车路上的必备娱乐,本课题主要研究Android车载平台连接Android设备的Car Life软件开发,Android手机端使用百度公司提供的CarLife软件,而车机端使用自己编写的Car Life软件,通过USB连接线完成与Android手机的通信与连接,实现车机端共享手机屏幕,车机端播放手机端音频,车机端反控等功能。车机端的界面与功能调用,使用的是Java语言,而消息的传递使用的是C++,通过JNI机制,完成Java与C++交互,实现车机与Android手机的互联,具体内容为:1、根据软件所需,搭建简单车载系统。使用了IMX6Q核心版,IVT的i84蓝牙模块,DSP AKM7738音频处理模块等。2、在Android Studio平台,用Java语言设计了车机的六个界面:ADB帮助界面、Android帮助界面、连接界面、引导界面、显示图标界面、显示界面,以及界面之间的转换逻辑。3、在进入车机与手机同步的界面后,车机端识别触屏操作手势与坐标,坐标需要相应的计算,映射到手机屏幕的相应的坐标,通过JNI机制,传递手势和坐标信息,从而完成车机反控手机。4、车机端通过ADB命令连接Android手机端,并将车机本地的tcp socket端口映射为手机对应的tcp socket端口,从而建立了命令数据,视频数据,音乐数据,导航音数据,语音数据,触摸数据合计六个数据通道,根据传递的消息完成相应功能。5、在车机与手机建立连接,双方完成参数交换后,手机端会发送H.264编码生成的视频流,并通过tcp socket通道进行视频流传输。在车机端,在接收到视频数据后,尽快通过MediaCodec类完成解码并显示在SurFaceView上,以减少延时。6、传输的音频流有三种:音乐声,导航声,语音声,车机端通过AudioTrack类,可以接收音频流,进行播放,通过AudioRecord类可以录制语音,进行传输。当某些音频模块需要抢占音频焦点,可以在逻辑上通过pause()函数来实现。本课题在手机端借助百度公司的CarLife软件,在Android车载平台设计了CarLife互联应用,实现了与Android手机的连接,车机共享手机屏幕,车机端播放音乐,车机端反控手机端等功能,为车载平台与手机互联提供了一定的借鉴意义。