新闻中心

EEPW首页>消费电子>设计应用> 基于MiniGUI的嵌入式媒体播放器的设计与实现

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

作者:陈运虎 韦 冰 时间:2008-07-04 来源:中国电子网 收藏

3.3 主要函数及具体实现

本文引用地址://m.amcfsurvey.com/article/85284.htm

  ⑴ 播放控制事件回调函数

  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 && item->id!=SIID_VOLUME) {

   …

   }

   return 1;

  }

⑵ 列表事件处理函数

  void playlist_handle_event(PEvent *event, void *data)

  {

  …

   switch(event->type) {

   case ButtonPress:

   …

   case ButtonRelease:

   …

  case KeyPress:

   if(!playlist)

   return;

   mykeyevent = event->xkey;

   LockDisplay(gGui->display);

   len="LookupString"(&mykeyevent, kbuf, sizeof(kbuf), &mykey, NULL);

   UnlockDisplay(gGui->display);

   switch (mykey) {

   case K_Down:

   case K_Next:

   browser_step_up(playlist->playlist, NULL);

   break;

   case K_Up:

   case K_Prior:

   browser_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;

   }

  }

 ⑶ 主函数

  intMain(int argc, const char* argv[])

  {

  …

   PlayerHandle="PlayerNew"();

  …
   free(buffer);

   PlayerGetInfo(PlayerHandle, &fi);

   …

  InitCreateInfo(&CreateInfo);

  hMainWnd=CreateMainWindow(&CreateInfo);

   if (hMainWnd==HWND_INVALID)

   return -1;

   …

   while( GetMessage(&Msg, hMainWnd) )

   {

   TranslateMessage(&Msg);

   DispatchMessage(&Msg);

   …

   }

   PlayerClose(PlayerHandle);

  …

   MainWindowThreADCleanup(hMainWnd);

   return 0;

  }

 4 结束语

  随着系统硬件性能的不断提升,用户对应用程序界面的友好性和功能的完备性提出了更高的要求。本文介绍的基于具有设计简单,占用系统资源少等特点,可作为开发基于图形界面系统的应用软件的参考。

参考文献

  [1] 魏永明.M in iGUI用户手册v1.6 [M].北京:北京飞漫软件技术有限公司,2006.

  [2] 魏永明.M in iGUI编程指南v1.6 [M].北京:北京飞漫软件技术有限公司,2006.

  [3] 杨小军.基于嵌入式Linux系统界面的研究[[J].现代电子技术,2004, 27 (IS):89-91.

  [4] BarrM. C/C++嵌入式系统编程[M].十志宏译.北京:中国电力出版社,2001.

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

c++相关文章:c++教程



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭