张春平
(石家庄职业技术学院,河北石家庄050081)
在嵌入式软件开发学习过程中,教师会安排很多小的项目来验证学习者阶段学习的成效, 其中Mplayer 是基于Linux 系统编程的一个项目。 这个项目基于Cortex A8 平台,具有触摸屏和按键。 学习者利用这个平台开发Mplayer,基本功能是显示歌曲信息、同步歌词,显示歌曲列表,当前歌曲反显,点击歌曲名能切换歌曲,显示当前播放进度,实现按键、触摸屏控制mp3 文件的播放、暂停、上一首、下一首、快进、快退、音量加减、静音等功能。
Mplayer 是Linux 系统编程的一个实例,这里涉及到进程和线程,让学习者练习进程和线程的具体应用。 触摸屏和按键都可以控制歌曲,这就要使用不同的线程实现,另外歌曲的播放进程和触摸屏、按键等线程之间要进行通信,获取按键和触摸屏线程传递的命令实现相应的歌曲切换等功能, 这里使用无名管道和命名管道实现进程之间通信。 下面具体看看设计步骤。
Mplayer 启动,初始化图形库和触摸屏,实现背景窗口的初始化。系统提供了图形库函数以及触摸屏相关使用函数,学习者可以直接调用实现其相关功能。 例如以下函数:
TFT_init();这是将液晶屏初始化。
TFT_File_Picture();窗口贴图函数。
TFT_CreateWindow();创建背景窗口函数。
TFT_ClearWindow();窗口清除函数。
从歌曲文件夹中读取歌曲名字,可以使用指针数组、链表或者数据库保存。 利用独立函数将歌曲歌词列表显示,并把播放的歌曲名高亮。 其中使用到打开目录函数和读取目录下文件函数。……