车载媒体系统简介

2019-05-18 08:38严涛
科教导刊·电子版 2019年9期
关键词:菜单车载框架

摘 要 随着生活水平的逐渐提高,汽车已成为非常流行的社会话题,越来越多的人喜欢上汽车,汽车能给人带来家的感觉,大大加快了社会产业的新陈代谢,而车载媒体系统基本上是每一辆车的必备,一款好的车载媒体系统使用起来也是一种享受,本人旨在深入研究车载媒体系统的实现,车载媒体的实现是需要方方面面的能力,特别是个人开发的时候,没有团队的支持,一切东西都要经过自己的亲手来打造,不过这也是练就个人能力的时候,制作这样一个系统的目的在于其一,能很好的锻炼个人能力,如果是团队就是团队协作能力,其二,更能了解整个软件产业的构成,其意义远大于软件本身,程序需要学习的内容大概可能分为三个部分,第一部分:语言功底C/C++,第二部分:编程工具的熟练使用如Qt Creator,第三部分:车载媒体的逻辑控制如:界面,交互邏辑,嵌入式等,可以说掌握这三部分能帮助实现一个简单的Demo,车载媒体系统一般基于linux系统下进行运行的,所以,最好使用linux环境下来进行开发!

关键词 车载媒体播放器 C/C++ Qt Creator FFmpeg Demo linux

中图分类号:TP311 文献标识码:A

我们使用是C++语言来开发实现,IDE使用Qt环境,比较好的是Qt是一个跨平台的框架,在第五章我会较详细的介绍Qt框架与C++的同异之处,代码只需少量修改即可移殖到相应的平台上去,首先,一款车载多媒体定有一个界面,一个主菜单,菜单栏里有相应的功能给用户使用,如音乐,视频,相册等,这些功能就要逐条实现,下面我们就先讨论各功能的实现。

主菜单:可以做成滑动的,也可以做成静态的,当然滑动的难度系数肯定要高一些,做成静态只要调整相对位置就好,放便但不够较多的用户体验。主菜单栏里有电话,音乐,视频,蓝牙,设置等。

电话界面:一定会有一个拨号盘,还有直接通过手机获取联系人在车载上显示,一个最近拨号,还有一个联系人界面。

音乐界面:一定要有一个当前歌曲的头像界面,还有歌词随着歌曲播放滚动的界面,当然肯定要有播放列表,用户可以对播放列表做增删改查的相关动作!

视频界面:视频界面我们可以设计比较简约一点的,有一个视频播放的界面,有一个正在播放的片名,还有一个播放列表。

文件管理界面:这个是一个可选的功能,如果有必要的话,我们可以自己实现一个文件管理系统,并不是很难,可以对文件进行删查就好!

设置界面:设置的内容比较杂乱,如有设置音量,设置语言,设置各个界面的相关的属性等东西,项目多。

照片界面:这个也算多媒体的一部分,可以浏览我们外接的照片,通过SDCard或者手机的USB,或者手机蓝牙传输的,都可以做为媒介,在车载上显示。

可能难点在于音频视频的播放了,还好有Qt有现在的框架,QmediaPlayer,能播放音视频功能,但框架上的东西毕竟是框架上别人封装好了的,你只能使用别人给你的接口这样就局限性比较大,最好能找一个不爱框架限制的库,或者说如果能力足够,我们可以自己手动解码,如果使用手动解码的话在windows上运行的话,从文件中取出相应的流,然后再把流转化为pcm裸流,基本上所有的平台都有支持PCM裸流的操作,就可以发出声音了,如果使用Qt框架的话,它基本上把该有的框架都封装完毕了,有统一的接口,简单高效,快速开发,当然也可以救助于第三方库的介入,比较出名的Ffmpeg这个库,基于GNU开源,比较难受的是FFmpeg这库比较大,大概有30M左右的release包体,不太适合简单,矮小精罕的小程序,打出的包体过大,不太适合当前环境的使用。基于这几点的考虑,我们还是使用Qt自带的框架进行媒体操作,毕竟开发效率高,质量也不低,简单清楚的接口。

主菜单是我们的主心骨,比较重要,因为汽车每一次的启动都会呈现给用户观看,要美观,要实用,要方便,定要设计使审美疲劳降至最低。

布局比较简单明了,清晰,包括天气查询,音乐,视频,日历,计算器等功能,细分主菜单我们可以看到主菜单,返回按钮,时间标签,背景图片等,我们可以看一下整个主菜单的制作过程,首先我们使用Qt 设计师可以实现整个界面的布局,Qt相当的方便,比起MFC简直是好,MFC确实是老的设计,Qt的设计理念相当的不错,实现了界面与逻辑的分离,标准的MVC框架,我们仅处理各各按钮相应的事件就可以了,再设置一下界面绘图这种种方法的调用,即可以完成。

1音乐界面的设计

音乐界面可以说是用的最多的界面了,基本上开车都喜欢听两曲,我们就要点开此界面来播放音乐了,基本的功能的都具备了,上一曲,下一曲,播放,播放模式,暂停,静音,添加文件,删除文件,歌曲列表的上一曲下一曲等,我们使用了Qt的自带媒体框架,QMediaPlayer框架,QMediaPlayer包含视频,音频,录音,还有录像等功能,当然播放音乐我们就使用播放音乐的功能,找到Qt的开发帮助文档。

音乐搜索界面,提供下载,播放,添加播放列表等操作,整体比较简单清楚,可以滑动操作等。

2结语

本文仅简单的介绍了播放器的实现机制,并没有过多讨论底层实现细节问题。

作者简介:严涛(1995.10-),男,汉族,?四川人,本科,西华师范大学,主要研究方向:音视频解码、计算机网络、系统UI架构。

参考文献

[1] Stanley B.Lippman.深度探索C++对象模型[M].侯捷译.北京:电子工业出版社,2011.

[2] 何钦铭,颜晖.C语言程序设计[M].北京:高等教育出版社,2012(01).

[3] 张海藩,吕云翔.软件工程[M].北京:人民邮电出版社,2013.

猜你喜欢
菜单车载框架
广义框架的不相交性
中国新年菜单
高速磁浮车载运行控制系统综述
WTO框架下
智能互联势不可挡 车载存储需求爆发
本月菜单
一种基于OpenStack的云应用开发框架
基于ZVS-PWM的车载隔离DC-DC的研究
新型轻便式车载电子系统的结构设计