微软公司宣布不再支持你正在使用的 IE浏览器,这会严重影响浏览网页,请使用微软最新的Edge浏览器
厂商专区
产品/技术
应用分类

基于嵌入式机车车辆车载播放系统软件设计与实现

2013-08-16 11:18 来源:电源网 编辑:娣雾儿

软件功能模块设计

机车车辆车载播放器主要由音频播放和视频播放两大部分组成,这两部分存在着很多相同和相似的功能,为避免重复编码,采用C++面向对象的模块化设计思想,将两部分中功能相似的部分抽取出来,形成独立的功能模块,提高了软件的可重用性和系统的运行效率。各功能模块均采用C++类来实现,对模块内部的数据进行封转,对外提供接口供外部调用,一方面提高了系统的数据安全性,另一方面也使软件编码更加的规范。

为实现机车车辆车载播放系统的功能,创建了窗体文件用于设置车载播放器的窗体;创建了配置文件用于处理系统配置信息;创建了用于实现对数据库操作的源文件;创建了触摸屏控制文件以及歌曲列表文件。

数据库操作

程序中使用SQLite数据库对歌曲及用户信息进行管理。

SQLite是D.Richard Hipp用C语言编写的开源嵌入式数据库引擎。它是完全独立的,不具有外部依赖性,非常健壮。SQLite第一个Alpha版本诞生于2000年5月,至今已经有11个年头,最新版本SQLite3也已经发布。SQLite是完全免费开源的软件。

SQLite能够运行在Windows/Linux/Unix等各种操作系统。SQLite源代码大约3万行,250KB大小,占用资源非常少。相比Mysql、PostgreSQL这两款著名的开源数据库,SQLite占用资源更少,处理速度更快,非常适合用于嵌入式系统开发中。

在系统中采用SQLite数据库对歌曲信息结构进行组织、存储以及管理。通过使用SQLite建立歌曲信息数据库表,然后就可以在程序通过相关接口函数对歌曲信息进行操作,如插入、删除、更新、查询等。采用SQLite数据库进行歌曲信息的管理大大降低了编程的复杂性。

在具体的系统数据库模块中,采用了Qt连接SQLite数据库的方式来操作数据库。Qt框架中QtSql模块提供了一个平台无关且数据库无关的访问S Q L数据库的接口。Qt中的每个数据库连接用一个QSqlDatabase对象来表示,同时Qt也使用不同driver来和各种不同数据库的API进行通讯。对于SQLite数据库Qt提供了很好的支持和封装,通过Qt的相关类可以很容易的进行数据库操作。

要实现对SQLite数据库进行操作首先需要创建一个关于数据库的创建和链接的头文件,然后在头文件中通过创建QSqlDatabase数据库连接对象来调用addDatabase()并设置相关函数的属性,然后在工程文件的最后添加关于使用数据库的声明“QT+=sql”。


MPlayer播放器的控制

MPlayer是一款开源多媒体播放器,以GNU通用公共许可证发布。此款软件可在各主流作业系统使用,例如Linux和其他类Unix系统、微软的视窗系统及苹果电脑的Mac OS X系统。MPlayer能够播放大多数MPEG、VOB、AVI、OGG、VIVO、ASF/WMV、Qt/MOV、FLV、RM等媒体文件。相对其它播放器来说,MPlayer还具有资源占用非常少,不需要任何系统解码器就可以播放各种媒体格式,在低配置的机器上使用等突出优势。所以对于运算速度相对较弱的嵌入式系统来说,MPlayer是一个很好的选择。

在本文的系统设计中,选用了MPlayer作为系统的媒体播放器来进行媒体文件的播放以及控制。在系统的播放模块中采用Qt的QProcess(进程类)通过start方法调用slave模式下的MPlayer产生一个进程,然后通过QProcess类的write方法向MPlayer发送控制命令,实现控制播放的目的。

小结

本论文详细介绍了如何使用Qt Creator完成车载音乐播放系统的界面设计及程序代码的编辑与运行。此车载播放系统可实现的功能如下:

1)具有美观、易于理解和操作的主界面;

2)可按照多种方式对数据库中的歌曲进行查找;

3)可实现歌曲的播放、暂停,以及上一首和下一首歌曲的切换;

4)所选歌曲可生成播放列表,列表可以循环播放,列表信息可修改,在列表中双击歌曲名称可播放该歌曲;

5 ) 可对设备中存储的歌曲进行删除;

6)可播放外接存储器中的歌曲。

同时,系统可以方便地移植到各种嵌入式设备中。

声明:本内容为作者独立观点,不代表电源网。本网站原创内容,如需转载,请注明出处;本网站转载的内容(文章、图片、视频)等资料版权归原作者所有。如我们采用了您不宜公开的文章或图片,未能及时和您确认,避免给双方造成不必要的经济损失,请电邮联系我们,以便迅速采取适当处理措施;欢迎投稿,邮箱∶editor@netbroad.com。

相关阅读

微信关注
技术专题 更多>>
研发工程师的工具箱
智慧生活 创新未来

头条推荐

电子行业原创技术内容推荐
客服热线
服务时间:周一至周五9:00-18:00
微信关注
获取一手干货分享
免费技术研讨会
editor@netbroad.com
400-003-2006