x内核管理的进程中,如图1所示。
1)初始化P2P网络,自动搜索P2P集合点。
黜嘉≤酗 万方数据……·FORUM 0f肿EllTS………………………………………………………………………………………………-- 2)读取集合点节点列表。
3)读取播放列表。
4)通过播放列表种子服务器搜索片源种子。
5)在集合点中搜索片源种子。
6)连接片源种子节点,请求传输。
7)种子节点接到请求,进行握手,握手完成后开始传输数据。
8)数据缓冲完成后开始播放影片。
(2)系统的功能模块如图2所示。
豳3泰统流程图 图2系统功能模块图 (3)开发环境 1)操作系统:Microsoft Windows XP Professional。
2)程序语言:Android,Java。
3)开发包:JDKI.6,Android SDK 1.5,JXlfA。
4)IDE:Eclipse 3.5.1,ADT plugin。
4播放器设计 图4系统结构图 该系统主要通过J)【’rA协议。
构建一个P2P网络,在网络 5播放器实现中设置有若干个PC机节点和手机节点,每个节点中都有共享文件。
任意节点可通过P2P网络集合点访问其他节点的共享资 播放器由播放功能单元和功能菜单组成。
播放器可以实源。
系统启动时首先进行初始化。
初始化过程会检查缓存情 现视频播放功能.功能菜单作为播放功能的辅助选项可以让况、启动.I)(TA网络连接,启动之后将搜索JXTA网络集合点 用户选择播放文件、查看系统状态、进行系统设置、进行RDV。
读取集合点上的Peer列表。
待初始化完毕之后,系统 P2P聊天等功能。
系统主界面如图5所示,顶端为标题栏,等待用户的视频点播请求。
点播之后系统向集合点请求资源, 紧接着视频播放窗151和播放器控制按钮,最下方为Menu功集合点将相应的节点列表反馈给请求节点。
接到反馈的节点列 能菜单。
表之后,系统向相应的节点发送文件传输请求,经握手后即开 5.1视频播放功能始传输数据。
传输过程将检查缓存情况.待缓存完毕之后即可 播放器的主控界面如图6所示,该播放器主要通过调用开始播放视频.系统的主要流程如图3所示。
Android API中的MediaPlayer类来实现,首先要在Activity里 该系统的P2P网络主要由3个部分组成。
分别是Android 创建SurfaceView.这个View与控制SurfaeeView的Surface·平台节点、PC平台节点和Peer集合点,其中Peer集合点负责 Holder对象,搭配MediaPlayer的SetDisplay 0方法来制定要收集和发送节点列表信息,起到一个系统调度的作用。
各节点 将图像显示于指定的SurfaceView之上。
要在Activity里面配置可以通过集合点获取存在的节点列表。
通过该列表,即可对该 SurfaceView.必须让Activity实现SurfaeeHolder.Callback接口,对等网络中的任意节点进行访问,接收和发送数据,该系统的 在Activity当中覆盖surfaceChanged()与surfaceDestroyed()整体结构示意图如图4所示。
方法。
万方数据 ~ 一~ ~ ~~ 一 ~一 一~ ~ 一智 一慧 一密 ~集 ~ ~ 一 ~ 一 一 ~ 一 ~ 一 ~ ~ 一 实~ 用~ 第~ 一. .一 . . mMediaPlayer01.setOnPreparedListener 《new MediaPlayer.OnPreparedListener(}{ @Override public void onPrepared(MediaPlayer mp){ Log.i(TAG.‘Prepared ListeneC); } }}: Runnable r=new Runnable(){ public void run(》{ tn/f ,鼍在线程运行中,调用自定义函数抓下文件¨ setDataSource《strPath): ,鲁下载完届才会调用prepare+, 图5系统主界面 圈6播放