您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>电子百科>通信技术>数据通信>

 解码模块 - 基于Mobile的手机流媒体实时图像浏览客户端设计

2011年09月27日 10:41 本站整理 作者:叶子 用户评论(0
3.2 解码模块

  音/ 视频以大量的数据进行传输,可能会造成网络堵塞。为了减少网络传输量,那么在不会影响音视频显示效果的前提下,对数据进行了压缩和编码处理,可以大大的减少数据量。因此,在接收到数据以后,对完整的音/ 视频数据要进行对应的解码,才能使图像正确无误的显示出来。

  3.3 显示模块

  本系统中采用Direct-Show技术来提供多媒体流高质量的捕捉与回放。下面就本系统中终端播放器的具体功能和实现,设计如下:

  3.3.1 建立项目

  使用Visual STudio 2008 的开发环境创建一个新项目,利用智能设备应用程序向导创建一个基于对话框的应用程序, 编译环境设置为Windows Mobile 6 ProfessiONalSDK,设备选择CHSWindows Mobile 6 ClassicEmulator 为智能设备的模拟环境。

  3.3.2 新建一个CEric-MediaControl 类,用于封闭媒体文件播放等功能

  CEricMediaControl 类是一个通用的C++ 类,无基类。

  下面就来具体实现CEricMediaControl 类。

  a.为CEricMediaControl 类添加私有变量,用于定义播放媒体文件播放所需的DSHOW接口

  b.定义媒体播放事件对应的WINDOWS 消息常量WM_GRAPHNOTIFY,定义如下:#define WM_GRAPHNOTIFYWM_USER + 101。

  c.实现CEricMediaControl 类的构造函数和析构函数。在构造函数里,将DSHOW相关的接口初始化为NULL,并初始化COM环境;在析构函数里,释放DSHOW 接口并释放COM环境。

  d.为CEricMediaControl 类添加InitDShow和UnInitDShow两个私有方法。

  e.为CEricMediaControl 类添加4 个共有方法,供外部调用。这4 个方法分别为OpenFile、VideoRun、VideoPause、VideoStop。f. 为类CEricMediaControl类添加7 个共有的方法,用于设置媒体播放属性以及得到媒体播放器的属性。这7个方法分别为FitVideoWindow、FullScreen、Get-FullScreenStatus、GetMediaEvent、SetPositions、GetDuration。

  3.3.3 设计媒体播放器的主窗口

  根据媒体播放器上的样式,对话框上的控件及其属性设置如表1 所示。

  

 

  至此,媒体播放器就编写完成了,编译并部署到模拟器中,即可实现流媒体实时图像的浏览了,同时可以作为本地媒体播放器使用,通过“打开”按钮选择播放本地媒体文件。

  4 结语

  随着手机市场的不断增长和3G 网络业务的快速发展,针对智能手机音/ 视频图像的传输,本文通过流媒体技术以及网络编程的研究,实现了在Mobile 操作系统下实时图像的传输及浏览。这个实时流媒体传输系统经过进一步完善后,将可以推广到更多场合中,得到更多的应用,例如:视频会议、远程教学等,具有实际应用价值。

非常好我支持^.^

(0) 0%

不好我反对

(0) 0%

( 发表人:叶子 )

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!