收藏 分享(赏)

基于MiniGUI的嵌入式媒体播放器的设计与实现.doc

上传人:dreamzhangning 文档编号:2257298 上传时间:2018-09-07 格式:DOC 页数:5 大小:48KB
下载 相关 举报
基于MiniGUI的嵌入式媒体播放器的设计与实现.doc_第1页
第1页 / 共5页
基于MiniGUI的嵌入式媒体播放器的设计与实现.doc_第2页
第2页 / 共5页
基于MiniGUI的嵌入式媒体播放器的设计与实现.doc_第3页
第3页 / 共5页
基于MiniGUI的嵌入式媒体播放器的设计与实现.doc_第4页
第4页 / 共5页
基于MiniGUI的嵌入式媒体播放器的设计与实现.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、基于 MiniGUI 的嵌入式媒体播放器的设计与实现中南林业科技大学电子与信息工程学院 陈运虎 韦 冰摘要:随着嵌入式系统的不断发展, 处理器性能的不断提升,存储系统容量的不断扩大,各种多媒体应用程序被移植到嵌入式系统中,多媒体 组件成 为其不可或缺的重要组成部分。本文在比较如今流行的几种嵌入式图形系统的基础上,提出了基于 MiniGUI 的嵌入式媒体播放器的设计与实现方法。关键词:嵌入式系统;嵌入式图形系统;MiniGUI ;媒体播放器1 引言随着嵌入式系统的不断发展,处理器性能的不断提升,存储系统容量的不断扩大,各种多媒体应用程序被移植到嵌入式系统中,多媒体组件成为其不可或缺的重要组成部分

2、。嵌入式多媒体播放器的开发是当前 IT 产业的热点之一 ,呈现了巨大的市场需求。与些同时,播放器功能复杂化和普及化对产品的交互界面提出了更高的要求。现在许多高端手机和 PDA 产品上已经有了多媒体播放器,可是和 PC 机上的播放器相比现有的这些播放器的功能都有待进一步增强。将现代窗口和图形技术带入到嵌入式设备的 MiniGUI,是一个非常适合于实时嵌入式设备的高效、可靠、可定制、小巧灵活的跨操作系统的图形用户界面支持系统。它采用类Win32 的 API 接口,是一个多窗口 GUI 支持系统。本文首先比较各种嵌入式图形系统,然后提出基于 MiniGUI 的嵌入式媒体播放器的设计与实现方法。2 各

3、种嵌入式图形系统之比较目前,流行的面向嵌入式系统的图形系统有MicoroWindows/NanoX、Qt/Embedded、MiniGUI、DirectFB、PicoGUI 以及 GTK+/FB 等。它们中的大多数遵循 LGPL 条款发布,而 MicoroWindows/NanoX 遵循的是 MGPL,Qt/Embedded采用 QGPL 条款发布。MicroWindows/NanoX 能够在没有任何操作系统或其他图形系统的支持下运行,它能对裸显示设备进行直接操作。这样,MicroWindows 就显得十分小巧,便于移植到各种硬件和软件系统上。然而 MicroWindows/NanoX 的免费

4、版本开发进展慢,而且缺乏全面专业的技术支持。Qt/Embedded 功能强大,但是,由于它是基于 C+类库的,所以和其他 GUI 相比系统消耗资源较大,一般应用于手持式高端信息产品。GTK+/FB 与 Qt/Embedded 类似,跳过 X 层直接与 FrameBuffer 沟通,也具有Qt/Embedded 的几项优点,但发展速度缓慢。DirectFB 是专注于 Linux FrameBuffer 加速的一个图形库,并试图建立一个兼容 GTK的嵌入式 GUI 系统。PicoGUI 是一种新型的小巧的嵌入式图形系统。同 X Windows 系统一样具有一个弹性的客户服务端架构。PicoGUI

5、将字体,位图,窗口小部件,以及其他应用程序需要的东西都直接建立在服务器上,与 X Windows 相比,虽然灵活性有所降低,但速度显著提升、体积大大缩小。MiniGUI 为实时嵌入式操作系统提供了非常完善的图形及用户界面支持。MiniGUI 本身的可移植性设计,使得不论在哪个硬件平台,哪种操作系统上运行,MiniGUI 均能为上层应用程序提供一致的应用程序编程接口(API) 。MiniGUI 小巧、灵活且对中文的支持性最好。3 设计与实现3.1 播放器总体结构本文中的播放器采用 MiniGUI 作为底层图形库,用于生成用户界面以及读写FrameBuffer。基于 MiniGUI 的嵌入式系统总

6、体架构如图 1 所示。图 1 基于 MiniGUI 的嵌入式系统总体架构播放器软件总体结构如图 2 所示,它主要由三部分组成,分别是图形用户界面模块、系统管理主控模块和音视频解码器。三部分功能设计如下面所述:图形用户界面模块通过事件/消息机制和系统管理主控模块交互。音视频解码器模块可以看作是系统管理主控模块的插件(plug-in),从系统管理主控模块获得编码的音视频数据并对其解码后发送己解码的音视频数据给系统管理主控模块。系统管理主控模块则负责网络数据的接收和解析、图形用户界面模块和音视频解码器模块的工作协调和音视频数据的输出。这个模块是播放器软件中非常重要的一个模块。图 2 播放器应用程序结

7、构图3.2 用户图形界面设计MiniGUI 提供了丰富的 GUI 元素,如常见的控件类、对话框与消息框以及菜单等,此外,MiniGUI 支持界面皮肤。因此,利用 MiniGUI 可以非常方便地设计出漂亮的用户图形界面。播放器的人机交互界面主要包括播放控制与文件列表管理两大部分。播放控制用来实现对所选择的媒体文件作播放/暂停、停止及进度控制等;文件列表管理则用来实现向播放列表添加、删除媒体文件以及对列表中文件排序等功能。MiniGUI 应用程序MiniGUI 应用程序接口 ANSI C库设备驱动 操作系统可移植层底层硬件命令/数据事件/消息图形用户界面系统管理主控音/视频解码器3.3 主要函数及

8、具体实现 播放控制事件回调函数static int main_event_cb (HWND hwnd, skin_item_t* item, int event, void* data) if (event=SIE_BUTTON_CLICKED) switch (item-id) case SIID_PLAY:case SIID_PAUSE: case SIID_STOP:case SIID_CLOSE:else if (event=SIE_SLIDER_CHANGED 列表事件处理函数void playlist_handle_event(PEvent *event, void *data)

9、switch(event-type) case ButtonPress:case ButtonRelease:case KeyPress:if(!playlist)return;mykeyevent = event-xkey; LockDisplay(gGui-display);len=LookupString(UnlockDisplay(gGui-display);switch (mykey) case K_Down:case K_Next:browser_step_up(playlist-playlist, NULL);break;case K_Up:case K_Prior:browse

10、r_step_down(playlist-playlist, NULL);break;default:gui_handle_event(event, data);break;break;case MappingNotify:LockDisplay(gGui-display);RefreshKeyboardMapping(MappingEvent *)event);UnlockDisplay(gGui-display);break; 主函数int MiniGUIMain(int argc, const char* argv) PlayerHandle=PlayerNew();free(buffe

11、r);PlayerGetInfo(PlayerHandle, InitCreateInfo(hMainWnd=CreateMainWindow(if (hMainWnd=HWND_INVALID)return -1;while( GetMessage(DispatchMessage(PlayerClose(PlayerHandle);MainWindowThreadCleanup(hMainWnd);return 0;4 结束语随着嵌入式系统硬件性能的不断提升,用户对应用程序界面的友好性和功能的完备性提出了更高的要求。本文介绍的基于 MiniGUI 的嵌入式媒体播放器具有设计简单,占用系统资源

12、少等特点,可作为开发基于嵌入式图形界面系统的应用软件的参考。参考文献1 魏永明.M in iGUI 用户手册 v1.6 M.北京: 北京飞漫软 件技术有限公司,2006.2 魏永明.M in iGUI 编程指南 v1.6 M.北京: 北京飞漫软 件技术有限公司,2006.3 杨小军.基于嵌入式 Linux 系统界面的研究J. 现代电子技术,2004, 27 (IS):8991.4 BarrM. C/C+嵌入式系统编 程M.十志宏译.北京: 中国电力出版社,2001.附联系方式:地址:湖南省长沙市韶山南路 498 号中南林业科技大学研究生部 04 级硕士 1 班邮编:410004手机:13007492692电话:0731-5095914

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报