基于minigui的网真机界面的实现

时间:2023-02-22 01:08:57 硕士毕业论文 我要投稿
  • 相关推荐

基于minigui的网真机界面的实现

  1 前言
  
  近年来,网络发展不断成熟,互联网的用户越来越多,这样成熟的环境使得基于网络的音视频通信技术不断发展,基于该技术的产品不断丰富,网真机正是一款基于网络的音视频通信设备。Minigui 是北京飞漫软件技术有限公司开发的一款开源的linux 图形用户界面支持系统,广泛应用于通信,工控,机顶盒等领域。本文主要介绍基于minigui 的网真机界面的实现方式,以下先介绍网真机所涉及的技术。
  
  2 网真机的软件基础
  
  2.1 网真机系统
  网真机所使用的系统为嵌入式linux 系统,该系统是以linux 为基础的嵌入式作业系统,目前被广泛应用在移动电话,个人数字助理,媒体播放器等产品中。选用嵌入式linux 系统是由于该系统具有许多特点,首先由于linux 是开放源代码的,这使得该系统在针对不同的设备具有极强的可移植性。其次,linux 系统非常稳定,这对于网真机而言尤为重要。第三,linux 系统内核小,效率高,对于网真机而言,系统自身的大小与效率关系到开发成本和使用流畅性。
  正是具有以上优点,使得我们选用linux 做为网真机的操作系统,同时,由于linux 系统的开源性,使得基于该系统的软件非常丰富,网真机中所涉及的通信软件正是在linux 系统中安装的linphone,该软件是基于sip 协议的一款优秀的音视频通信软件。
  
  2.2 Linphone  
  Linphone[3]是一款基于WEB 的IP 电话软件,版本非常丰富,可以运行于Linux 和Windows 系统中。网真机中所使用的通信软件正是运行于linux 系统中的linphone。通过该软件,我们可以使用网真机在互联网上进行语音与视频通话,甚至可以进行即时消息及文件传送。Linphone 是遵循SIP[1][2]协议开发的,因而需要和支持SIP 协议的终端或代理服务器进行相互操作。Linphone 是开源免费软件,不但可以自由下载,也可以根据自己的需要而做相应的修改。
  
  2.3 Mplayer
  Mplayer 是Linux 上的电影播放器,它可以播放MPEG,VOB,AVI,OGG,VIVO,ASF/WMV,QT/MOV,FLI,RM,NuppelVideo,yuv4mpeg,FILM,RoQ 格式的文件。在网真机中,不但可以实现音视频通话的功能,还可以通过网络或是挂载设备来实现播放电影的功能,这一功能的实现,正是依赖于Mplayer 强大的播放能力。另外,由于Mplayer 也是开源软件,也可以对它进行修改,这对网真机对其控制至关重要。
  
  2.4 minigui
  minigui 为嵌入式linux 系统提供完整的图形系统支持,网真机正是通过minigui 来控制系统中的各种模块,进而实现不同的功能。例如,当进行视频通话的时候,需要通过minigui中的相应操作来调用linphone,进而通过linphone 进行通话。下面将具体介绍网真机中通过minigui 控制各模块的过程。
  
  3 基于Minigui 的控制界面的设计与实现
  
  3.1 系统功能需求分析
  网真机需要具有音视频通话功能,在音视频通话过程中,还需要具备通信录的功能,通过通信录可以存储常用的号码,这样可以更方便的进行呼叫。同时,网真机还具备播放电影的功能,可以播放本地的或是外接存储设备中的视频文件。另外,还需要根据不同的环境,对网真机进行相应的设置,例如设置联网方式,设置linphone 中的一些参数等等。框架图所示。效果所示。
  
  3.2 minigui 的程序设计
  3.2.1 主界面的设计
  根据上面的分析,minigui[4]的主界面中需要设计五个选项,分别为通信录,网视传真,电影播放,系统设置,安全关机。Minigui 程序中的消息机制和窗口过程是程序的基石和框架,贯穿于Minigui 的应用程序中。在程序中包含着主事件循环,它负责轮询用户触发的事件,当用户触发事件后,事件经过Minigui 转换成一个消息,然后在窗口过程函数中针对不同的消息进行相应的处理。
  在主界面中,可触发的事件分别为五个选项,程序在不断的监听,当有按键消息触发时,则进入MSG_KEYDOWN 事件,然后判断按键信息,在主界面中,有效的按键为左右键和确认键,通过左右键来转到相应的二级界面入口,通过确认键来进入二级界面。在主界面中使用五张不同的图片来表示不同的二级界面的入口。通过标志来记录所需要的图片,然后InvalidateRect 函数全部清空当前界面下的所有图片,之后程序会进入MSG_PAINT 事件,在这一事件中,程序会通过FillBoxWithBitmap 函数来对界面进行重构,由于之前有记录图片的标记,在重构中,通过标记来选择需要的图片。这样,一次二级界面入口的转换过程就完成了。之后通过确认键来调用相应的二级界面。
  3.2.2 通信录界面的设计
  在通信录中,使用了列表框控件,以及代表确认和退出的两张按钮图片,列表框是minigui 所提供的空间,在该界面中,使用两列列表,分别为姓名和号码。在从主菜单进入到该界面时,主菜单位于该界面后面,也就是说,两个界面是重叠排放的。同时,从数据库中读出储存的姓名和电话,然后显示在列表框中。
  用户在操作的过程中,通过上下键来选择所需要的电话,然后通过右键来选择确认和退出,当选择确认时。会向当前界面发送KEY_CANCEL 消息来关闭当前界面,同时向主界面发送消息启动网视传真界面,同时将先前选择好的电话号码复制到网视传真界面中。
  3.2.3 网视传真界面的设计与实现
  网视传真界面是用户发起呼叫的界面,该界面包括一个输入框、一个确认按钮以及一个退出按钮,用户在输入框中输入对方的网真号,然后选择确认按钮开始呼叫。
  在呼叫的过程中,需要将该号码传入到linphone 中,然后由linphone 进行呼叫,上文中提到,linphone 是一款开源软件,可以进行必要的修改。在进行传递号码的过程中,就需要对linphone 进行些修改。由于linphone 和minigui 在网真机中均为安装在嵌入式linux 系统中的程序,因而可以使用进程间的通信来将号码传入linphone 中,通过在minigui 和linphone的源代码中加入消息队列来进行号码传入。通话结束或者无人接听时,linphone 再通过消息队列传递给minigui 相应的消息,minigui 通过MessageBox 函数来产生对话框,告知用户相应的信息。
  3.2.4 电影播放界面的设计与实现
  网真机不但可以进行音视频通话,还具有播放电影的功能,这依赖于在嵌入式linux 系统中安装的Mplayer 播放器,而想要用minigui 界面来控制电影的播放、停止、暂停的话,那就需要对Mplayer 做必要的修改,同样的,在Mplayer 的源程序中添加消息队列,这样,在minigui 中按下对应的按钮,程序将会通过消息队列给Mplayer 发送消息,而经过改造后的Mplayer 会认为用户下达了控制命令,这样就可以控制电影的播放进度了。
  在该界面的设计中,需要一个列表框来显示当前存储路径中的电影,同时,需要三个按钮来表示所选择的存储设备,即本地存储,网络存储和USB 设备存储。另外,还需要四个按钮来表示开始播放、暂停、停止、退出这四个命令。当按下播放时,程序调用system 函数来启动Mplayer 程序,这时候电影开始播放;当按下暂停键或退出键后,通过消息队列传递给Mplayer 暂停或退出命令,Mplayer 进行相应的操作。
  3.2.5 系统设置界面的设计和实现
  由于环境差异,需要对网真机做必要的设置,因此需要设计一个设置界面。在该界面中,需要使用一个列表框,列表框中包含了设置选项。主要有网真机的号码设置,服务器的IP地址设置,用户名设置和密码设置。
  由于这些设置都是为linphone 进行的,而在linphone 中具有存储这些设置的文件,该文件名为.linphonerc,因此,只要通过修改该文件就可达到设置的目的。在这里,通过将该文件的内容读入到数组中,然后修改该数组,再将新数组写入该文件,就可以修改成功。
  
  4 总结
  
  网真机基于嵌入式linux 系统,通过minigui 将linphone、Mplayer 等开源软件修改并组合,从而构建了网真机的软件结构。本文主要介绍了网真机界面的设计与实现过程,这对同类型产品的设计和开发具有参考意义。

中国硕士论文网提供大量免费硕士毕业论文,如有业务需求请咨询网站客服人员!
  
  参考文献
  [1] 张智江,张云勇,刘韵洁著.SIP 协议及其应用[M].电子工业出版社,2005.
  [2] 周海华, 边恩炯等编著.SIP 原理与应用[M].机械工业出版社, 2006.
  [3] MiniGUI Tech White Paper.

【基于minigui的网真机界面的实现】相关文章:

都市频道制作网的设计与实现05-29

基于软交换的固网智能化05-11

基于BP网遥感影像分类研究与应用08-10

基于军网的雷达远程诊断技术研究08-10

基于顾客价值的需求,流动网挖掘策略分析06-04

基于知网的翻译研究方向硕士毕业论文写作06-25

基于分组技术的下一代光传送网05-29

基于价值网的企业集群式供给链治理模式研究04-28

色彩在手机界面设计中的运用10-19