解码模块 - 基于Mobile的手机流媒体实时图像浏览客户端设计
音/ 视频以大量的数据进行传输,可能会造成网络堵塞。为了减少网络传输量,那么在不会影响音视频显示效果的前提下,对数据进行了压缩和编码处理,可以大大的减少数据量。因此,在接收到数据以后,对完整的音/ 视频数据要进行对应的解码,才能使图像正确无误的显示出来。
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 操作系统下实时图像的传输及浏览。这个实时流媒体传输系统经过进一步完善后,将可以推广到更多场合中,得到更多的应用,例如:视频会议、远程教学等,具有实际应用价值。
- 第 1 页:基于Mobile的手机流媒体实时图像浏览客户端设计
- 第 2 页: 解码模块
本文导航
非常好我支持^.^
(0) 0%
不好我反对
(0) 0%
相关阅读:
- [电子说] 新知同享 | Mobile 开发轻松跨屏,高效构建 2023-09-08
- [电子说] 颠覆支付市场,打造互联生活 — 意法半导体STPay-Mobile数字钥匙解决方案 2023-09-07
- [电子说] 美国通信运营商裁员5000人,中国运营商仍然增长迅速显然比美国好许多 2023-08-28
- [电子说] Mobileye研究:被低估的Mobileye,重新定义自动驾驶 2023-07-29
- [电子说] 三星成功拿下特斯拉下一代FSD芯片订单 2023-07-19
- [电子说] Mobileye发布首个纯视觉智能车速辅助系统 2023-07-19
- [电子说] Mobileye和特斯拉差距在哪? 2023-07-12
- [电子说] 基于Mobile SDK V5版固件开发大疆无人机手机端遥控器(5) 2023-07-07
( 发表人:叶子 )