新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 浅谈基于Linux嵌入式操作系统掌上娱乐系统设计方案

浅谈基于Linux嵌入式操作系统掌上娱乐系统设计方案

作者:时间:2012-04-16来源:网络收藏

本模块是建立一个QtGUI程序。然后用一个label控件来播放视屏,用一个进度条显示播放的进度,用按键显播放,暂停,上一首,下一首,停止和添加资源文件。然后用一个Qprocess在后台执行MPlayer,并把label的WID传给它。然后把MPlayer的输入输出重定向,把原本从标准输入接收命令变成从GUI的接收命令。

3。1。3播放功能

播放器实现的软件流程图如图4所示:

11.jpg

图4播放器软件流程图。

通过定义一个QProcess对象调用已编译好的Mplayer。

QProcess*process=newQProcess();

process->setProcessChannelMode(QProcess::MergedChannels);

Process->start(mplayer–ac–madxxxxx);

在命令中添加-slave和-quiet就可以通过命令设置Mplayer实现相应的功能。Process->start(mplayer–slave–quiet–ac–madxxxxx)。

下面对播放器的暂停播放功能和音量调节进行介绍。

①播放暂停功能

通过这段代码可以设置Mplayer暂停:process->write(pause);执行这段代码的时候在播放状态下就会暂停,暂停状态下就会继续播放。

②音量调节

下面代码即可实现音量调节的功能:

Process->write(volume-1);//音量减小;

Process->write(volume+1);//音量增加;

Process->write(volumeXX1);//音量设置成指定值

使用如下代码实现音量调节:

QStringcmd=volume+QString::number(value)+1;

process->write(cmd。toLocal8Bit()。data());

最终实现的实验效果图如图5所示:

系统最终实现的实验效果图

图5播放器模块实验结果图

3。2游戏模块的

设计了一个打砖块游戏。通过建立一个打砖块的游戏类CannonField,包含角度intangle、力度intforce、是否正在射击boolisShooting等成员,具有设置角度setAngle(intangle)、设置力度setForce(intforce)、射击shoot()、运动轨迹shotRect()、游戏控制newTarget()、setGameOver()、restartGame()等槽函数,能发出击中hit()、未击中missed()、角度变化angleChanged(intnewAngle)力度变化forceChanged(intnewForce)等信号。

游戏开始时使用随机函数在指定区域内显示一个砖块,点击射击按钮时通过setAngle和setForce设置的角度和力度,使用shoot()进行射击,通过发出的击中hit()或未击中missed()信号来作出相应的动作。仿真效果图如图6所示:

12.jpg

图6游戏模块实验结果图

4总结

本系统采用开源的和QT4界面设计工具,整个系统采用模块化设计,具有良好的可扩展性。硬件平台采用的是UP-TECHS3C2410DVK1。1系统,该芯片采用ARM架构,其独特的架构设计具有功耗低、功能强的特点,因此非常适合用于手持式设备;采用LCD触摸屏与用户进行交互,使用简单,符合便携式终端的发展趋势。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭