- 浏览: 261353 次
- 性别:
- 来自: 西安
文章分类
最新评论
-
qq820456878:
大神,您好,看了您的文章,深知小弟难望其项背啊。有一点不明白的 ...
Flex中捕获浏览器的前进、后退、刷新、关闭事件 -
skydove:
wushexin 写道楼主,详细说明网址打不开呀...可以去这 ...
RED5的Eclipse插件安装 -
JavaCFW:
<div class="quote_title ...
FLEX利用FLASH MEDIA SERVER进行视频的在线录制和回放 -
JavaCFW:
FLEX利用FLASH MEDIA SERVER进行视频的在线录制和回放 -
daveyking:
客户端代码不太懂,是在哪写的?flash actionscri ...
抛弃LCDS和FMS,在tomcat下开发Red5应用(第三篇)-ApplicationAdapte
安装好fms后,在Flash Media Server 2\applications目录下建立test文件夹,重新启动fms。
编写录制和回放的代码:
录制程序和界面:
xml 代码
- <!---->xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
- <mx:Script>
- <!---->
- import mx.controls.Spacer;
- import flash.net.*;
- import flash.events.*;
- import flash.utils.*;
- import flash.media.Camera;
- import flash.media.Microphone;
- import mx.controls.*;
- //import mx.core.UIComponent;
- //由于fms使用的是amf0而flex2中的as3默认使用的是amf3.所以要让flex使用AFM0
- NetConnection.defaultObjectEncoding = flash.net.ObjectEncoding.AMF0;
- //定义一个连接
- public var netConnection:NetConnection;
- //定义一个本地视频
- public var localVideo:Video;
- //定义一个输出流
- public var outStream:NetStream = null;
- //定义一个摄像头
- public var camera:Camera;
- //定义一个麦克风
- public var microphone:Microphone;
- //应用程序初始化
- public function initCamera():void
- {
- //初始化连接
- netConnection = new NetConnection();
- //为连接添加状态监听器
- netConnection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
- //为连接添加安全错误监听器
- netConnection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
- //定义一个视频持有人
- //var videoHolder:UIComponent = new UIComponent();
- //初始化本地视频
- localVideo = new Video();
- //将本地视频添加到持有人
- //videoHolder.addChild(localVideo);
- //设置本地视频的位置
- myVideo.addChild(localVideo);
- localVideo.x = 0;
- localVideo.y = 0;
- localVideo.width = 640;
- localVideo.height = 480;
- //连接到服务器
- netConnection.connect("rtmp://localhost/test");
- }
- private function netStatusHandler(event:NetStatusEvent):void
- {
- outStream = new NetStream(netConnection);
- camera = Camera.getCamera();
- camera.setMode(640,480,30);
- microphone = Microphone.getMicrophone();
- localVideo.attachCamera(camera);
- outStream.attachCamera(camera);
- outStream.attachAudio(microphone);
- outStream.publish("testVideo","record");
- Alert.show(event.info.code);
- }
- private function securityErrorHandler(event:SecurityErrorEvent):void
- {
- Alert.show("securityErrorHandler: " + event);
- }
- ]]>
- mx:Script>
- <mx:VideoDisplay id="myVideo" x="0" y="0" height="240" width="320" creationComplete="initCamera();"/>
- mx:Application>
回放程序和界面:
xml 代码
- <!---->xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
- <mx:Script>
- <!---->
- import mx.controls.Spacer;
- import flash.net.*;
- import flash.events.*;
- import flash.utils.*;
- import flash.media.Camera;
- import mx.controls.*;
- //由于fms使用的是amf0而flex2中的as3默认使用的是amf3.所以要让flex使用AFM0
- NetConnection.defaultObjectEncoding = flash.net.ObjectEncoding.AMF0;
- //定义一个连接
- public var netConnection:NetConnection;
- //定义一个本地视频
- public var localVideo:Video;
- //定义一个输入流
- public var inStream:NetStream = null;
- //应用程序初始化
- public function initCamera():void
- {
- //初始化连接
- netConnection = new NetConnection();
- //为连接添加状态监听器
- netConnection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
- //为连接添加安全错误监听器
- netConnection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
- //连接到服务器
- netConnection.connect("rtmp://localhost/test");
- }
- private function netStatusHandler(event:NetStatusEvent):void
- {
- //Alert.show(event.info.code);
- switch (event.info.code)
- {
- case "NetConnection.Connect.Failed":
- //Alert.show("连接失败!!");
- case "NetConnection.Connect.Success":
- connectStream();
- break;
- case "NetStream.Play.StreamNotFound":
- //Alert.show("Stream not found: " + "rtmp://localhost/myapp");
- break;
- }
- }
- private function securityErrorHandler(event:SecurityErrorEvent):void
- {
- //Alert.show("securityErrorHandler: " + event);
- }
- private function connectStream():void
- {
- inStream = new NetStream(netConnection);
- inStream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
- inStream.addEventListener(AsyncErrorEvent.ASYNC_ERROR,streamErrorHandler);
- //初始化本地视频
- localVideo = new Video();
- //设置本地视频的位置
- localVideo.x = 0;
- localVideo.y = 0;
- localVideo.width = 640;
- localVideo.height = 480;
- localVideo.attachNetStream(inStream);
- inStream.play("testVideo");
- myVideo.addChild(localVideo);
- }
- private function streamErrorHandler(event:AsyncErrorEvent):void
- {
- //Alert.show(event.error.message);
- }
- ]]>
- mx:Script>
- <mx:VideoDisplay id="myVideo" x="0" y="0" height="640" width="480" creationComplete="initCamera();"/>
- mx:Application>
发表评论
-
Java程序员学习Flex和BlazeDS的十三个理由
2009-09-18 22:59 0本文列述了13个Java程 ... -
BrowserManager和HistoryManager的应用
2009-09-18 22:55 0BrowserManager是一个Singleton 管理器, ... -
Flex4相对于Flex3的变化
2009-09-18 22:19 2915以下内容转载自互联网,如侵犯您的权利,请来信告知! ... -
FLV播放器,完成度百分之七十
2009-09-11 09:17 1358完成度70% <object classid= ... -
Java和flash通信中数据的zlib压缩与解压缩
2009-04-08 22:23 0上篇文章介绍和如何在j ... -
Java和flash通信中数据的AMF3封装
2009-04-08 22:22 0Flash加载外部http数据有很多封装方式,常用的数据封装格 ... -
Java的RTMP客户端,可以用于RTMP的测试
2009-04-01 23:26 4103JUV Client 1.2 经过在Red5-0.6.3下测试 ... -
Flex中捕获浏览器的前进、后退、刷新、关闭事件
2009-03-31 21:46 9685如果不希望用户点击浏览器的前进、后退、刷新、关闭等误操作,可以 ... -
Text Layout Framework 聊天表情测试(依然不支持gif动画表情)
2009-02-17 22:59 3425(最后编辑于2009年2月20日17:24) 参考资料: ht ... -
使用Text Layout Framework实现图文混排
2009-02-16 11:45 86831.Flex Builder3要更新到3.0.2 http:/ ... -
从flex-ifram项目中看到的,在as中写js函数
2009-01-13 14:17 3530项目地址:http://code.google.c ... -
Flex的IFrame,解决在RIA中显示html的问题,非AIR
2008-12-31 15:00 0http://code.google.com/p/flex-i ... -
随记:flex发送XML到servlet
2008-10-16 15:58 3106一个Flex发送XML到Servlet,Servlet返回XM ... -
java后台的flex应用中电子白板文档共享的解决方法---用命令行转换任意文档为PDF和SWF
2008-07-31 22:57 8286前天安装了RED5,将OpenMeetings安装并运行一下, ... -
开启摄像头和关闭摄像头
2008-03-21 14:06 5637打开摄像头: Camera camera = Camera.g ... -
Flex的在线图片处理程序
2007-12-30 11:09 6247http://www.dreamtech.com.cn:908 ... -
Flex 概述
2007-11-11 09:13 3327一,概述 Flex是Adobe公司的支持RIA(rich ... -
讨论Flex的Package
2007-10-28 10:11 4400部分内容摘自ActionScript 3 Cookbook中文 ... -
FLEX2和FLEX3全屏的代码
2007-10-28 08:52 3352一.flex2的全屏代码 在仅仅使用Flex Builder ... -
FMS回调FLEX端的Function
2007-10-20 12:15 2657网络上找了很久这个资料,总算被解决了。 1.在FMS下新建一个 ...
相关推荐
Flash Player内置了H.264视频编码和AAC音频编码,Flex可以利用这些技术将原始数据转换为可传输的格式。 2. **服务器端**:服务器端使用了mfs,这可能指的是Adobe Media Server,一个专为流媒体内容设计的服务器平台...
在IT领域,Flash Media Management Server(FMS)是Adobe公司推出的一款强大的流媒体服务器,专为在线视频、音频直播和点播服务提供支持。本文将深入探讨FMS的功能、应用以及中文版的特点。 FMS的核心功能在于其...
Flex视频会议系统是一种基于Adobe Flex技术构建的在线交互式沟通平台,主要利用FMS(Flash Media Server)服务器作为后台支持,提供高效、稳定的音视频通信服务。Flex是ActionScript 3.0的一个开发框架,它使得...
在“采用FLASH MEDIA SERVER技术,录象加播放系统,供初学测试”的项目中,我们可以推测这是一个专为初学者设计的教育工具,旨在帮助他们理解和掌握如何利用FMS进行录像和播放功能的实现。下面我们将深入探讨FMS的...
Flex可以通过集成第三方库如Flash Media Server (FMS) 或 Red5等实时流媒体服务器来实现在线录音。首先,你需要在客户端(浏览器中的Flex应用)获取用户麦克风的访问权限。然后,通过ActionScript与服务器建立RTMP...
- **解释**:本章重点在于如何使用FMS3进行实时通信应用开发,包括连接到FMS服务器、创建交互式连接、流媒体播放、在线视频录制与回放、实时视频聊天以及多人在线聊天应用。 通过以上概述,《细细品味Flex——新...
在Flex客户端,你可以使用Flash Media Server APIs或Adobe AIR的Media Capture API来捕获用户的摄像头输入。然后,通过FluorineFx的AMF通道,将这些原始的视频数据发送到.NET服务器端。在服务器端,你可以使用各种...
4. **在线视频录制与回放**: 开发了在线视频录制和回放的功能。 5. **实时视频聊天**: 使用FMS实现了多人实时视频聊天。 6. **远程共享对象**: 利用SharedObject实现多人在线聊天。 通过上述内容的学习,读者能够...
此外,案例开发还包括了如何创建可交互的FMS连接、基于FMS的流媒体播放程序、在线视频录制与回放以及如何利用远程共享对象实现多人实时在线聊天的详细步骤。这些系列文章深入浅出地讲解了从零开始构建这样一个系统的...
本教程将深入探讨如何管理和利用FMS进行高效的内容发布,以及如何开发基于Flash的媒体应用程序。 一、FMS基础概念 1.1 FMS架构:FMS采用分布式架构,由核心服务器、边缘服务器等组成,能处理大规模的并发流媒体...
其核心功能包括音频和视频流的实时传输、录制和回放、共享对象的支持以及远程调用能力,适用于视频网站、在线教育、视频会议和网络游戏等多个领域。 2. **Red5安装步骤**: - **环境准备**:首先,需访问java.sun....
FMS2.0,全称Flex Media Server 2.0,是一款强大的流媒体服务器软件,能够处理、分发和优化实时音频、视频流,广泛应用于在线教育、直播服务、企业内部通讯等多个领域。 教程首先会引导读者了解FMS2.0的基础概念,...
Red5的出现主要是为了提供与Adobe Flash Media Server(FMS)类似的功能,但作为一个开源解决方案,它为开发者提供了更多的自由度和成本优势。FMS是商业软件,而Red5则是一个由Java编写,基于GPL许可证的开放源码...