首先提出需求吧
现在需求很简单
2个用户登录在同一页面,然后可以视频聊天(语音也可以)。
界面比较简单:就是2个视频框,一个显示自己,另外一个显示正在和自己聊天的对象的视频。
需要的工具有VS2008 FMS FLASH CS4 IIS
需要的知识点有 JS和AS的交互, FMS的直播和发布,C#和JS的交互。
ASP.NET 有2个页面 一个是登录页面,一个是视频页面。登录页面用来记录客户的APPLICATION。视频页面是2个FLASH。一个是自己的视频,另外一个是别人的视频。
FLASH需要准备2个 一个是用来发布视频的和观看自己的视频的。另外一个是用来播放别人视频的。
思路是:一个客户A 登录,服务器将记录下APLICATION(IP,NAME) ,其中name是客户A发布的视频的名字 (注意这里不能用SESSIOn)。然后另外一个客户B登录上来同样记录之,并且这个时候服务器端将客户A 的name通过JS传递给AS,这个时候FLASH选择播放客户A的视频流。
需要注意的地方:JS调用AS的函数的时候,利用 ExternalInterface.addCallback,注意自己的顺序,以及它们的记载顺序。具体问题在代码中标注了。
存在BUG是 多个用户的时候可能 A看到 B,B看到C,C看到A 。2个人视频的话没问题。
主要代码部分如下
c#页面
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>实时视频</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table style="width: 100%; height: 314px;"&g