您的位置:首页»社会科学»教育学>>基于FlashCS 6流媒体技术的在 线政工学习平台模块算法设计

基于FlashCS 6流媒体技术的在 线政工学习平台模块算法设计

作 者:黄胜波 (武警海警学院 315801)

 摘   要:政府政工网是机关单位信息化建设的一个重要部分,组织实时政治学习将是一种常态化日常工作,但传统的领读式学习模式有待提高,因此本文提出了一种基于Flash流媒体技术的在线政工学习平台,用于进一步提高机关政工学习交流的实时性和便捷性。本文基于Flash流媒体技术设计政府政工学习平台,力求把枯燥的政工学习变得有趣,便于理解和直观,能促进学习者互相交流,互相讨论。

关键词:Flash CS 6流媒体技术;政工学习;模块算法
一、绪论
政工学习交流,就是在机关内部对当前实时政策精神以及个人的思想情况和工作情况进行汇报交流,或是对机关内部的政工内容进行学习传达、信息获取,这是保证机关建设和掌握人员思想动态的一种交流方式,同时,还具有必要性、保密性和实时性的特点。
现今,机关政工学习交流大多采用文字和图片的形式,或是利用视频的上传下载的方法进行,许多单位利用视频会议系统来进行政工的学习交流、文件通知、精神传达等,基层单位之间的政工学习交流则主要依靠政工网以及一体化平台等。这些学习交流方式普遍、常用,但也存在一些不足:一是一些信息的交互形式只局限于邮件收发,学习者之间工作上的交流方式较为单一,组织学习模式单调枯燥;二是当机关组织某些集中培训时,距离较远的单位来回路途需花费大量时间且带来一定的开销。       
为满足政工学习交流实时性、多方式的实际需求,更好地进行政工建设,设计开发建成一个实时、高效的政工学习平台十分必要。平台集视频、文字聊天和资料下载为一体,实现同一平台内的多人互聊,在视频聊天时,还可进行资料下载;并且使用基于RTMP协议的FMS,能实现不同用户之间共享数据,允许不同客户端之间数据的发布和接收,实现数据信息的实时交流和共享,推进机关信息化建设。
基于Flash流媒体技术的在线政工学习平台,是一个为适应政府机关政工学习交流的实时性和便捷性而设计的平台。前台页面采用了Flash CS 6工具进行开发,ActionScript 3.0语言进行编程,后台采用Flash Media Server软件进行数据交互。学习者可利用视频、文字聊天功能进行政工交流;还可通过资料下载来实现大量资料信息的共享、学习。
二、平台设计基本构架
本设计采用类似于C/S 的架构和模块化原理。C/S架构,即Client/Server(客户机/服务器)结构,通过将任务合理分配到Client端和Server端,降低系统的通讯开销,可以充分利用两端硬件环境的优势。在本设计中,将平台分为客户端和服务端,每个客户端与FMS服务器建立数据流通道,再从FMS服务器接受其他客户端的数据流,
在本平台中,所有的模块都经Flash CS6软件组装起来,成为一个整体,再与FMS进行交互进而完成整个平台所要求的功能。                  
三、平台需求分析
结合机关政工学习实际,该平台主要从功能需求和安全性需求进行考虑。功能需求是从机关政工学习交流的实际情况出发,主要解决单位之间政工学习交流的实时性、便捷性以及距离较远带来的问题。
(一)功能需求
本文提出的政工学习平台,主要是基于对机关政工学习交流的实时性和便捷性考虑,对于目前机关的政工平台而言,信息的交互只停留于发送文字、图片以及视频文件的方式,而视频会议的应用大多只用于大队、支队级以上的政工学习、文件通知、精神传达等,基层单位之间的政工学习交流主要依靠政工网以及一体化平台等。这些学习交流方式普遍、常用,但也存在一些不足:一是单位之间的业务交流、信息获取大多只局限于政工网和书面形式,不仅方式单一、不够形象而且实时性较低、效率不高,无法满足不同学习者的需求;二是当机关组织集中培训时,距离较远的单位来回路途需花费大量时间且带来一定的开销。       
基于此,本文提出一种了基于Flash流媒体技术的政工学习平台,它可实现多人实时视频交流功能,解决单位之间信息交互方式单一不够生动、实时性低、效率不高的问题。用户进入平台后可观看所有上台用户,可选择其他用户与自己交流,同时,其余人可通过发送文字对交流的内容给出不同的意见;平台内的用户可下载服务器里的资料,对照资料进行学习交流,这即可以解决因距离较远带来的开销问题又可以达到更好的学习效果。
(二)模块算法
本平台的算法是对各模块具体功能实现过程的描述,是ActionScript 3.0语言的指令实现,每条指令完成一个或多个操作。即为实现具体功能而采取具体有限的操作步骤。本文所涉及的主要算法有:登录模块算法、上下台模块算法、视频聊天模块算法、文字聊天及下载资料算法等。整个平台算法的流程图实现如图。
 
(1)登录模块算法
在登录完成后初始化麦克风与摄像头,把摄像头获取的视频添加到视频控件里显示在界面上;初始化用户共享对象userList_so。然后把用户名作为参数链接fms服务器,服务器端更新用户共享对象,客户端侦听到服务器端更新了用户共享对象,会自动更新用户列表。创建文字共享对象wenzi_shareObject,并添加SyncEvent.SYNC事件侦听。
(2)上下台模块算法
当用户点击“上台”按钮后,调用服务器端的communicateServer方法, 在调用该方法的同时将用户名传递给communicateServer,服务器端利用communicateServer方法把该用户添加到服务器端的上台用户数组userList里,然后调用客户端的playOtherVideo方法,并将上台用户数组userList传递给playOtherVideo;在playOtherVideo方法里创建用于接收上台用户的视频流,并播放该视频流;客户端调用 communicateServer方法成功后,创建一个用于发布的视频流,将摄像头、麦克风的音视频附加在视频里面,然后发布该视频流。
下台功能与“上台”基本类似,当用户点击“下台”按钮后,调用服务器端的delServer方法,在调用该方法的同时将用户名传递给delServer,服务器端的delServer方法把该用户从服务器端的上台用户数组userList里删除,然后调用客户端的playOtherVideo方法,并将上台用户数组userList传递给playOtherVideo;在playOtherVideo方法里创建用于接收上台用户的视频流,并播放该视频流。  
(3)视频聊天模块算法
当用户在用户列表里选择其余用户后,点击“私聊”按钮,利用NetConnect连接FMS服务器,创建两个视频流,一个用于发布的视频流,将摄像头、麦克风的音视频赋值给客户端,然后发布该视频流。另一个用于接收私聊用户的视频流,播放该视频流。当用户点击“挂断”按钮后, 关闭发布视频流,关闭接收视频流。
(4)文字聊天及下载资料算法
当用户点击“发送”按钮后,更改文字共享对象wenzi_shareObject,所有客户端侦听到共享对象更改后,会自动更新聊天的文字信息。
当用户点击“下载资料”按钮后,调用服务器端的getFile方法,并将文件名传给getFile,服务器端利用getFile方法打开服务器的文件并将其转成字符串,并把字符串返回给客户端,客户端先把字符串转成字节,然后保存在客户端。
 
四、结束语
本文结合机关政工学习交流的实际所提出的政工学习平台,有以下特点:一是平台结构简明,易于操作;将各功能模块化,分块实现,易于维护管理。二是利用机关内部网络,可同时实现视频、文字的交流,实时性、便捷性较高。三是在平台中,只能由FMS管理员(平台中的某一用户)上传文件资料,其余用户只可下载,这样避免了服务器来自内部的攻击,具有一定的安全性。