基于流媒体技术的手机多媒体播放器的研究
来源:用户上传
作者: 沈凤池 张 健
[摘要] 本课题的重点是讨论利用现在的J2ME,MPEG及相应的流媒体技术,开发出移动设备终端的媒体播放器。
[关键词] 流媒体 J2ME MPEG RTP RTCP
一、引言
随着通信技术和计算机技术的迅猛发展,3G时代的到来,使得人们对手持设备的应用有了更高的要求,人们已不满足于简单的通话,收发短信等基本功能,而更多的是要求有多媒体应用,能利用手机进行上网冲浪,3D游戏,播放视频等。
二、系统的分析与设计
1.目前存在的系统分析
随着通信技术和计算机技术的迅猛发展,使得人们对手持设备的应用有了更高的要求,人们已不满足于简单的通话,收发短信等基本功能,而更多的是要求有多媒体应用,能利用手机进行上网冲浪,3D游戏,播放视频等。移动设备通过网络观看视频将是不可避免的问题。而且目前的城市的网络覆盖率比较的好。
在这种情况下,多媒体播放器在设计与实现在有一些问题:
(1)由于多媒体手机在硬件性能上与PC机有着显著的差异,所以在多媒体手机上播放的视频短片的比特率要远远低于PC机上的,所以在设计多媒体手机时要受到多媒体手机硬件与操作系统的影响。
(2)现在多媒体手机外接的存储卡容量不是很高,当你在旅行的过程中或者在移动的过程中,因为你的存储卡的容量有限,所以你只能看少量的视音文件。
(3)现在多媒体手机在播放视音频文件的过程中,如果你看到自已喜欢的图片,你就想要保存下来,作为永久的珍藏。
(4)如何设计一项全新多媒体播放器,为将来的多媒体移动服务打下坚实的基础。
2.对目前系统的改进
本项目是一个关于手机播放器的系统,通过移动终端手机能够实现在任何时间,地点进行多媒体音频与视频的播放,本项目在空间上延伸了基于internet的网络服务,在时间上更具有灵活性。本系统只能播放视频文件的格式为MPEG格式与音频文件的格式为WAV格式,这是因为由底层的开发包所决定的。
本项目具有以下几个功能模块:
(1)首先视频(主要是MPEG格式)的播放模块,播放形式主要采用两种形式:本地播放与网络播放。本地播放也就是所谓的视频文件在本地手机存储器里,直接进行播放,网络播放主要是视频文件放在网络服务器,手机进行调用播放。它在空间上延伸了internet网络服务,在时间上更具有灵活性。
(2)其次实现音频(主要是WAV格式)的播放模块,播放形式主要采用两种形式:本地播放与网络播放。运行方式与视频播放模块相似。
(3)再次抓图模块,在进行播放本地与网络视频时,当你认为哪一个视频的瞬间你很鼓欢,你就可以进行抓图,把它抓下来。
(4)最后是控制模块,在进行播放音频与视频的同时,有一些基本的控制功能,比如:播放,停止,暂停,增加音量,减小音量等。
1>以下是本地播放视频或音频文件流程图
以上图的说明:这是一个本地播放视频或音频文件的流程图,首先生成一个等待WaitCanvas的对象,之后生成一个等待界面,然后生成一个VideoCanvas对象,它主要是用来进行播放文件控制的,用VideoCanvas生成的对象来打开用户在刚开始的界面上所输入URL,URL里包括IP地址,端口号(8080)以及被访问的文件名。如果打开成功都进行播放,如果失败者结束程序。最终关闭MIDlet程序。
2>以下是网格播放视频或音频文件流程图
以上图的说明:这是一个网络播放视频或音频文件的流程图,首先生成一个等待WaitCanvas的对象,之后生成一个等待界面,然后生成一个VideoCanvas对象,它主要是用来进行播放文件控制的,用VideoCanvas生成的对象来打开用户在刚开始的界面上所输入URL,URL里包括IP地址,端口号(8080)以及被访问的文件名。如果打开成功都进行播放,如果失败者结束程序。最终关闭MIDlet程序。
三、客户端的实现
手机客户端MIDlet的设计是本课题研究的重点,是实现本地与无线播放器应用的关键,客户端MIDlet需要解决的关键问题有:MIDlet程序结构流程控制,界面的开发;准确地提交用户请求参数问题等。根据系统需求分析,本项目终端支持系统的客户端主要面向的活动者是有具有多媒体手机的用户。以多媒体手机的用户所应具有的功能进行介绍手机客户端MIDlet开发的过程和主要解决的问题。
1.客户端流程设计
主要的流程说明:首先启动MIDlet,进行输入所要访问的服务器的IP和所要播放的文件的全称,如果输入错误,都重新输入,如果输入正确者,进行下面的一个操作,机器根据你所输入的IP地址来判断是本地播放,还是要进行网络的播放,当你如果输入的是本地IP,那么手机只播放你在手机存储介质里面的视频或音频文件。如果你输入的是网络IP,那么手机会播放在服务器中的视频或音频文件。在进行播放视频与音频的过程中,可以对被操作对象进行一系列的操作,比如抓图等。
2.MIDLET主程序的设计
一个MIDP应用程序的基本执行单元――MIDlet,所以ControlVideo继承MIDlet了,并有以下几个方法:startApp(),pauseApp(),destroyApp(),commandAction()还有一个线程PlayImage,这个程序它所要实现在的主要功能是,形成一个输入的界面,在这个界面里面要实现让用户输入URL,URL里面包含访问计算机的IP,端口号及所要访问的播放文件全称。还有在界面上还形成几个按钮比如开始,退出这是由commandAction()来进行控制等,它还进行控制整个程序的运行,选形成一个等待的界面,然后根据用户所输入的信息进行打开URL,再进行播放文件的控制等等。
3.播放控制的设计
它主要是由VideoCanvas继承Canvas,并有以下几个方法:VideoCanvas(), initialize(), paint(), time2pix(),open()等方法。它主要实现的功能是:对播放的视频或音频文件进行一系列的操作比如播放,停止,暂停,增加音量,减小音量。
4.播放文件判断的设计
在这里主要是设计一个单独的类,名称为VideoType,它主要先从用户输入的URL来分析出用户输入的信息,从中分离出输入的IP地址,端口号以及文件的名称,再进行判别用户输入的文件的类型。它里面有以下几个方法:guessContentType(),splitURL()。
5.网络连接等待介面的设计
这是一个所设计的一个等待界面,名称WaitCanvas,它继承了Canvas类,它主要的功能是:当用户输入IP地址时,手机在连结服务器的时候,可能会有一个过程,所以这个时候出现一个等待界面。它里面有以下几个方法:WaitCanvas(),void setMessage(),paint()。
四、结束语
本文研究的重心在于利用流媒体技术使手机播放器中本地与网络(无线)终端MIDP应用开发技术的解决方法及资源的网络通信,信息整合问题。因此在论文中深入研究了J2ME体系结构及其平台下手机程序MIDP的开发技术,详细分析了本地终端与无线终端和资源的通信解决方法,并构造了一个手机多媒体播放器系统,通过该系统,完整说明了MIDP应用程序开发的流程控制,界面设置与流媒体和视频压缩技术。本系统还会不断的改进,实现更广,更新,更实际的功能,以适应时代的需求。
参考文献:
[1]吴一丁:J2ME技术在移动设备上的应用.java研究组织,2005
[2]黄宝雄:流媒体技术.中国多媒体视讯,2005
[3]刘雄武:移动流媒体技术及其应用发展方向.CSDN,2005.06
[4]王千祥:应用服务器原理与实现.电子工业出版社,2003
转载注明来源:https://www.xzbu.com/3/view-1485914.htm