<!-- saved from url=(0014)about:internet -->
<html lang="en">
<!--
Smart developers always View Source.
This application was built using Adobe Flex, an open source framework
for building rich Internet applications that get delivered via the
Flash Player or to desktops via Adobe AIR.
Learn more about Flex at http://flex.org
// -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- BEGIN Browser History required section -->
<link rel="stylesheet" type="text/css" href="history/history.css" />
<!-- END Browser History required section -->
<title>${title}</title>
<script src="AC_OETags.js" language="javascript"></script>
<!-- BEGIN Browser History required section -->
<script src="history/history.js" language="javascript"></script>
<!-- END Browser History required section -->
<style>
body { margin: 0px; overflow:hidden }
</style>
<script language="JavaScript" type="text/javascript">
<!--
// -----------------------------------------------------------------------------
// Globals
// Major version of Flash required
var requiredMajorVersion = ${version_major};
// Minor version of Flash required
var requiredMinorVersion = ${version_minor};
// Minor version of Flash required
var requiredRevision = ${version_revision};
// -----------------------------------------------------------------------------
// -->
</script>
</head>
<body scroll="no">
<script language="JavaScript" type="text/javascript">
<!--
// Version check for the Flash Player that has the ability to start Player Product Install (6.0r65)
var hasProductInstall = DetectFlashVer(6, 0, 65);
// Version check based upon the values defined in globals
var hasRequestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
if ( hasProductInstall && !hasRequestedVersion ) {
// DO NOT MODIFY THE FOLLOWING FOUR LINES
// Location visited after installation is complete if installation is required
var MMPlayerType = (isIE == true) ? "ActiveX" : "PlugIn";
var MMredirectURL = window.location;
document.title = document.title.slice(0, 47) + " - Flash Player Installation";
var MMdoctitle = document.title;
AC_FL_RunContent(
"src", "playerProductInstall",
"FlashVars", "MMredirectURL="+MMredirectURL+'&MMplayerType='+MMPlayerType+'&MMdoctitle='+MMdoctitle+"",
"width", "${width}",
"height", "${height}",
"align", "middle",
"id", "${application}",
"quality", "high",
"bgcolor", "${bgcolor}",
"name", "${application}",
"allowScriptAccess","sameDomain",
"type", "application/x-shockwave-flash",
"pluginspage", "http://www.adobe.com/go/getflashplayer"
);
} else if (hasRequestedVersion) {
// if we've detected an acceptable version
// embed the Flash Content SWF when all tests are passed
AC_FL_RunContent(
"src", "${swf}",
"width", "${width}",
"height", "${height}",
"align", "middle",
"id", "${application}",
"quality", "high",
"bgcolor", "${bgcolor}",
"name", "${application}",
"allowScriptAccess","sameDomain",
"type", "application/x-shockwave-flash",
"pluginspage", "http://www.adobe.com/go/getflashplayer"
);
} else { // flash is too old or we can't detect the plugin
var alternateContent = 'Alternate HTML content should be placed here. '
+ 'This content requires the Adobe Flash Player. '
+ '<a href=http://www.adobe.com/go/getflash/>Get Flash</a>';
document.write(alternateContent); // insert non-flash content
}
// -->
</script>
<noscript>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
id="${application}" width="${width}" height="${height}"
codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
<param name="movie" value="${swf}.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="${bgcolor}" />
<param name="allowScriptAccess" value="sameDomain" />
<embed src="${swf}.swf" quality="high" bgcolor="${bgcolor}"
width="${width}" height="${height}" name="${application}" align="middle"
play="true"
loop="false"
quality="high"
allowScriptAccess="sameDomain"
type="application/x-shockwave-flash"
pluginspage="http://www.adobe.com/go/getflashplayer">
</embed>
</object>
</noscript>
</body>
</html>
基于FMS的视频聊天源码
需积分: 0 43 浏览量
更新于2009-09-04
1
收藏 1.08MB ZIP 举报
【基于FMS的视频聊天源码】是一种使用Adobe Flash Media Server (FMS)技术实现的实时视频聊天应用程序的源代码。这个项目展示了如何利用Flex框架进行客户端开发,并与服务器端的FMS进行交互,实现视频流的传输和聊天功能。
在源码中,开发者能够学习到以下几个关键知识点:
1. **Flash Media Server (FMS)**:FMS是Adobe公司提供的一个流媒体服务器平台,它支持实时音频、视频和数据流的应用程序。在视频聊天应用中,FMS负责处理视频流的发布、接收和分发,提供高效的媒体服务。
2. **Flex框架**:Flex是一种基于ActionScript 3.0的开发框架,用于构建富互联网应用程序(RIA)。在这个项目中,Flex用于创建用户界面,包括视频窗口、聊天输入框、按钮等元素,并处理用户交互。
3. **源码结构**:
- `.actionScriptProperties`:这是ActionScript项目的配置文件,包含关于编译器设置、库路径等信息。
- `.flexProperties`:存储Flex项目的特定属性,如源代码目录、目标平台等。
- `.project`:这是Eclipse或Flash Builder等IDE的项目配置文件,包含了构建设置和工程依赖。
- `.settings`:这个目录通常包含IDE的项目特定设置。
- `libs`:库文件夹,存放项目所需的库文件或第三方组件。
- `html-template`:可能包含了HTML模板,用于在Web环境中部署Flex应用。
- `src`:源代码目录,包含所有ActionScript类文件,如视图、控制器和模型。
4. **摄像头切换功能**:源码中实现了用户可以在聊天过程中切换摄像头的功能,这涉及到对设备硬件访问的API,如Flash的`Camera`类,用于获取和控制用户的摄像头设备。
5. **Yahoo天气预报服务**:项目中提到调用了Yahoo的天气预报服务,这可能是通过发送HTTP请求获取天气信息,然后在应用中展示。这涉及到网络编程和XML数据解析,可能使用了`URLLoader`和`XML`类。
6. **实时通信**:FMS支持RTMP(Real-Time Messaging Protocol)协议,使得客户端和服务器之间的通信实时高效。视频聊天功能利用这一特性,实现实时音视频传输。
7. **事件驱动编程**:Flex和ActionScript是基于事件驱动的,源码中会有很多事件监听和处理,如点击事件、连接状态改变事件等。
8. **UI设计**:Flex提供了丰富的组件库,可以方便地创建具有专业外观和感觉的用户界面。在视频聊天应用中,可能会有自定义的视频组件和聊天窗口组件。
通过分析和学习这个源码,开发者不仅可以掌握实时视频聊天应用的开发,还能深入了解Flex和FMS的结合使用,以及如何集成第三方服务,提升自己的技能和经验。