使用 Eclipse 创建第一个 Red5 应用程序示例

书接上回~《如何使用 Red5 插件创建 Red5 项目? 》,接下来要做的当然是想看看自己在 Eclipse 开发的应用程序跑的效果。本文使用具体例子——使用 Red5 在线录制视频,介绍怎样让创建的第一个 Red5 应用成功运行。

本文示例源代码下载地址

下载在Linux公社的1号FTP服务器里,下载地址:

FTP地址:ftp://www.linuxidc.com

用户名:

密码:

在 2012年LinuxIDC.com\6月\使用 Eclipse 创建第一个 Red5 应用程序示例 - 使用 Red5 在线录制视频

下载方法见

步骤 1:安装 Red5。

Linux 下可以参考《如何在 Linux 服务器上安装 Red5? 》;

Windows 下可以去 这里 下载 setup-Red5-0.9.1.exe,安装步骤基本狂点 "Next",但最后需要输入 IP 和端口号,那个是测试页面需要的,IP 直接输入 "localhost",端口号可以输入 5080。值得注意的是,Red5 安装成功后会默认设置服务并且是自动启动,我们需要把它的自动启动设置为手动。因为在 Windows 下的 Red5 是用来测试用的,Eclipse 修改好项目并部署后,debug 启动的 server 就是 Red5,如果 Red5 服务已经启动的话会出错。这个类似于在 Eclipse-Tomcat 下调试项目,我们不会把 Tomcat 作为 Windows 下的服务并自动启动吧?

步骤 2:安装 Red5 的两个 demo。

这个是本示例的需要,安装 messageRecorder 和 oflaDemo 两个 demo。启动 Red5 服务后,访问 :5080/,点击页面中的 Install 链接,弹出 Red5 应用安装列表页面,分别选择 messageRecorder,oflaDemo,点击右下角的 Install 按钮进行安装。安装成功后在 Red5 的安装目录下会发现两个新的目录:messageRecorder 和 oflaDemo。

这一步如果不明白的话可以看一下视频 ?v=969cmyGu1yw

步骤 3:在 Eclipse 中创建一个 Red5 项目。

可以参考《如何使用 Red5 插件创建 Red5 项目? 》,本文项目名跟该文示例项目名一样,也是 ExampleWebPro。

步骤 4:在 Flex Builder 3 中创建一个新项目。

项目姑且取名为 pzaixianluzhi 吧,pzaixianluzhi.mxml 内容如下:

<?xml version="1.0" encoding="utf-8"?>   <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">       <mx:UIComponent id="ui">       </mx:UIComponent>       <mx:Script>           <![CDATA[              import mx.controls.Alert;              private var rtmpURL:String="rtmp://localhost/ExampleWebPro";              private var conn:NetConnection=new NetConnection();              private var isConnectSuccess:Boolean=false;              private var netStream:NetStream;              private var video:Video=new Video();              private function clickConnect(e:MouseEvent):void{                  if(!isConnectSuccess){                      conn.addEventListener(NetStatusEvent.NET_STATUS,netStatus);                      conn.connect(rtmpURL);                  }              }              private function clickVideo(e:MouseEvent):void{                  video.attachCamera(Camera.getCamera());                  ui.addChild(video);              }              private function netStatus(e:NetStatusEvent):void{                  trace(e.info.code);                  if(e.info.code=="NetConnection.Connect.Success"){                      isConnectSuccess=true;                      netStream=new NetStream(conn);                      netStream.client=new StreamClient();                      netStream.attachAudio(Microphone.getMicrophone());                      netStream.attachCamera(Camera.getCamera());                      netStream.publish("nameffff","record");                  }              }          ]]>       </mx:Script>       <mx:Button x="378" y="369" label="录制" click="this.clickConnect(event)"       fontSize="16"/>       <mx:Button x="310" y="369" label="视频" fontSize="16"       click="this.clickVideo(event)"/>   </mx:Application>  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/53fb51294e6bd956c1cfb4b5fda42123.html