您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > FMS3中文翻译_完整
1Adobeflashmediaserver开发者向导1起步Adobeflashmeidaserver提供了一个流媒体的集合和为建立富媒体应用的群集交互模式。Flashmediaserver提供了即时开始,实况视频流和基于用户带宽的可变的流的码率。Flashmediaserver有三个版本FlashMediaInteractiveServer:拥有完整特性的服务FlashMediaDevelopmentServer:一个用于开发的交互式服务的版本。支持所有的特性,但是有连接数的限制。FlashMediaStreamingServer:只支持实况和视频点播的服务。这个版本不支持服务器端的脚本或视频编码。注释:在使用这个向导之前最好阅读flashmediaserver技术一般观察1.1前言1.1.1client-server体系结构Flashmediaserver是一个网络中心,应用程序联用实时信息协议(real-timemessagingprotocol)连结到这个中心,这样服务器可以向连接到服务器上的很多用户发送数据并且从这些用户接受数据。一个用户通过一台配备了摄像头和麦克风,并且安装了flashplayer的电脑可以捕捉实况视频或音频,然后通过服务器向全世界成千上万的用户发布自己的视频或音频。全世界的用户可以参与在线游戏,并且同步所有用户的动作。用户通过网络连接连到服务器。一个连接类似于一个大的管道,这个管道里面传输着大量的数据流。每个流在客户端和服务器之间传输。每个服务器可以并发的处理很多连接,最大的连接数量取决于您的服务器的能力。一个在flashmediaserver上运行的应用程序后一个client-server体系结构。客户端的应用程序是由adobeflash或adobeflex开发,运行在flashplayer,AIR或flashlite3上的。他可以捕捉和播放音频和视屏并且处理用户的交互。服务器端的应用程序运行在服务器上。它可以处理客户端的连接,向服务器的文件系统写入文件,并且处理其他的任务。客户端必须向服务器发起连接。一旦连接成功,客户端可以和服务器或其他客户端通信。确切的说,客户端连接到一个服务器上运行的应用程序的实例。一个应用程序的实例的例子2是一个有着很多不同房间的在线游戏,用户可以组成很多不同的组群来进行游戏。在这个例子里面,每个房间就是一个确定的应用程序的实例。许多应用程序的实例可以同时运行。每一个应用程序的实例有自己唯一确定的名字,并且向客户端提供独一无二的资源。多个用户可以连接到同一个应用程序的实例或不同的应用程序的实例多个客户端连接到运行与flashmediaserver的多个应用程序(如图的scrabble和sudoku)和多个应用程序的不同实例实例(如scrabble的room2和sudoku的room1和room2)1.1.2媒体应用程序的组成部分客户端的应用程序用actionscript编写并且被编译为swf文件。服务器端的应用程序是由服务器端的actionscript编写(一种类似于actionscript1.0的语言,但是不在客户端运行,而是在服务器端运行)。一个媒体应用程序通常有已经编码好的或者实况的音频和视频,它们通过流的方式由服务器传输到客户端,由客户端传输到服务器或由服务器传输到服务器。一个典型的flashmeidaserver应用程序有以下几个部分:客户端的用户界面:客户端的显示着用户界面,如控制视频开始,停止或暂停的按钮。用户界面可以运行在flashplayer,AIR或flashlite3上,由adobeflash或adobeflex开发。客户端的actionscrip:客户端有可以处理用户交互和连接到服务器的actionscript的代码。Flashmediaserver3支持actionscript3.0。客户端由actionscript2.0或actionscript1.0为早期版本的Flashmediaserve而开发的因应用程序也是被Flashmediaserver3兼容的。视频或音频:许多媒体应用程序将已经编码好的音频或视频以流的方式由服务器端传输3到客户端,或由一个客户端传输到服务器端然后到其他的客户端。事先编码好的文件可能是FlashVideo(FLV),MP3,或MP4格式的。又服务器端编码的视频总是FLV格式的,以.Flv为后缀.摄像头或麦克风:一个客户端可以用AdobeFlashMediaEncoder或者你自己的习惯的支持实况流的flash软件向服务器实况传输音频或视频。客户通过自己的摄像头和麦克风端捕获音频或视频。服务器端的actionscript:许多应用程序包括封装在一个以.asc为后缀的服务器端的actionscript代码里面,通常叫他actionscript通信文件。这个文件被命名为man.asc或myApplication.asc。服务器端的脚本处理服务器端的任务,如流通传输音频和视频,定义当用户连接或断开连接时做什么。具体的请查看服务器端actionscrip语言参考。1.1.3流格式Flashmediaserver支持很多种流媒体格式,包括FlashVideo(FLV),MPEG-3(MP3),andMPEG-4(MP4)。1.2搭建开发环境1.2.1安装服务你可以使用免费开发版的服务来开发和测试应用程序。最简单的开发环境是一台安装了flash或flex的电脑,这台电脑通同时被用作服务器。安装服务如果你需要细节介绍的话请参考AdobeFlashMediaServer安装向导。开启服务当你安装服务时,你可以设置开机自动开启服务。如果服务没有开启,你可以手动开启。1.点击开始,选择所有程序adobeFlashMediaServer3StartFlashMediaServer3。2.点击开始,选择所有程序adobeFlashMediaServer3StartFlashMediaAdministrationServer3。注释:如果你像打开管理控制台的话你需要开启AdministrationServer服务。确认服务运行打开控制面板管理工具服务。在服务窗口,确认FlashMediaAdministrationServer和4FlashMediaServer都被开启。1.2.2安装flash使用actionscript3.0开发flash用户界面,你需要flashcs3和flashplayer9。1.下载并且安装AdobeFlashCS3Professional。2.下载并且安装FlashPlayer9。3.打开flashcs3,选择文件发布设置。4.在格式栏里面确保flash和html被选中。5.在flash栏里面,对于版本选项,选择flashplayer9。对于actionscript选项,选择actionscript3.0。1.2.3安装flex创建用户界面,你需要AdobeFlexBuilder或AdobeFlexSDK和flashplayer9。1.下载并且安装AdobeFlex2SDK或AdobeFlexBuilder2。2.下载并且安装FlashPlayer9。3.在FlexBuilder里面确保projectBuildAutomatically被选中。1.3helloworld应用程序1.3.1前言注释:下面的部分应用于FlashMediaInteractiveServer和FlashMediaDevelopmentServer者两个版本的服务。这个例子使用flashCS3来展示如何将一个flash文件连接到一个服务器端的脚本,别且如何从服务器获取数据。在这个例子里面,flash用户界面有一个按钮(connect)和一个lebel(最初是空的)。当一个用户点击connect按钮,客户端连接到服务器;然后客户端运行服务器端的函数来返回一个字符串的值。当服务器端回应了,客户端的回应函数在label上显示字符传。客户端通过改变按钮的label来断开连接。当diaconnect的按钮被点击,客户端断开连接,并且清空label。范例文件在HelloWorld文件夹下。51.3.2创建用户界面1.开启FlashCS3,然后选择新建flash文件(ActionScript3.0)。2.在文档类的框框里面写上HelloWorld。你可能看见一个关于威定义的actionscript类警告信息。点及ok,因为你将添加类文件在下一节。3.选择窗口组件,然后选择UserInterfaceButton。在属性栏里面为按钮取名connectBtn。4.添加一个Label组件,移动它到按钮上面,取名为textLbl。保存文件为HelloWorld.fla。1.3.3编写客户端脚本这个脚本定义了两个按钮动作,一个是连接到服务器,另一个是从服务器断开。当连到服务器,这个脚本或调用服务器端的一个函数传入参数(”world”),这将引发一个相应来显示返回的字符串(”helloworld”)。1.选择文件新建actionscript文件。检查目的路径有HelloWorld.fla。2.声明包和导入需要的类;package{importflash.display.MovieClip;importflash.net.Responder;6importflash.net.NetConnection;importflash.events.MouseEvent;publicclassHelloWorldextendsMovieClip{}}3.为连接和相应服务器事件申明变量(查看ActionScript3.0语言和组件参考)privatevarnc:NetConnection;privatevarmyResponder:Responder=newResponder(onReply);4.定义类的构造函数。设置label和button的显示的值,为button添加事件侦听器publicfunctionHelloWorld(){textLbl.text=;connectBtn.label=Connect;connectBtn.addEventListener(MouseEvent.CLICK,connectHandler);}5.基于按钮当前的label定义侦听函数publicfunctionconnectHandler(event:MouseEvent):void{if(connectBtn.label==Connect){trace(Connecting...);nc=newNetConnection();//连接到服务器nc.connect(rtmp://localhost/HelloWorld);//掉用服务器端的函数serverHelloMsg,在HelloWorld.asc里面.nc.call(serverHelloMsg,myResponder,World);connectBtn.label=Disconnect;}else{trace(Disconnecting...);//断开连接nc.close();connectBtn.label=Connect;textLbl.text=;7}}6定义相应函数(查看ActionScript3.0语言和组件参考),用以设置label上显示的值。privatefunctiononReply(result:Object):void{trace(onReplyreceivedvalue:+result);textLbl.text=String(result);}7.保存文件HelloWorld.as。我的学习:这里接触到了到了新的类Responder类和NetConnetction,以前没用到过。NetConnection这个类在FlashPlayer和FlashMediaServer应用程序之间或者FlashPlayer和运行FlashRemoting的应用程序服务器之间创建双
本文标题:FMS3中文翻译_完整
链接地址:https://www.777doc.com/doc-6116642 .html