Flex与.NET互操作(十三):FluorineFx.Net实现视频录制与视频回放

Flex 网页制作 Flash 分类:[default] 更新日期: 2016-05-03
本文主要介绍使用FluorineFx.Net来实现视频录制与视频回放,FluorineFx如同FMS一样,除了有AMF通信,RTMP协议,RPC 和远程共享对象外,它同样具备视频流服务的功能。
通过它我们可以非常方便的实现在线视频录制、视频直播、视频聊天以及视频会议等类似应用程序的开发。

 在《;
        video.attachNetStream(
this.ns);
        
this.myVideo.addChild(video);
        
this.ns.play(this.videoName.text);
    }
}

      到此就完成了使用FluorineFx.Net来实现视频录制和回放的功能,接下来我们来看看FluorineFx对发布录制视频流以及实况视频流的安全方面是怎么处理的。FluorineFx.Messaging.Api.Stream.IStreamPublishSecurity 接口就是专门用来处理发布流是的安全处理的,如果要对发布流进行安全方面的处理,那么就自定义一个实现该接口的安全策略类,在策略类里根据自己的实际情况来处理安全设置。

      通过该安全策略类可以很方便的判断发布流的类型、流的名称以及对发布流进行授权等相关操作。如下安全策略类:

namespace Fx.Adapter
{
    
publicclass PublishSecurity : IStreamPublishSecurity
    {
        
publicbool IsPublishAllowed(IScope scope, string name, string mode)
        {
            
//是否为录制流if (!"record".Equals(mode))
            {
                
returnfalse;
            }
            
//文件名是否以test开头if (!name.StartsWith("test"))
                
returnfalse;
            
elsereturntrue;
        }
    }
}

      在应用处理程序里通过ApplicationAdapter提供的RegisterStreamPublishSecurity()方法注册安全策略,该方法的定义如下所示:

publicvoid RegisterStreamPublishSecurity(IStreamPublishSecurity handler); 

      要注册发布流的安全策略,通常都是在应用程序启动中注册,如下代码块:

publicoverridebool AppStart(IScope application)
{
    RegisterStreamPublishSecurity(
new PublishSecurity());
    
returnbase.AppStart(application);
}

      通过RegisterStreamPublishSecurity()方法注册好发布流的安全策略后,每次发布流都会通过自定义的安全策略来检测当前发布流是否符合自定义的安全规则。这样一方便可以保证别人恶意连接到你的应用程序进行流的发布,消耗网络带宽等多中不利现象,更多的好处还待研究。
本文示例程序下载


> 本站内容系网友提交或本网编辑转载,其目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时与本网联系,我们将在第一时间删除内容!

相关文章
  • Flex中对表格某列的值进行数字格式化并求百分比添加%
    Flex中对表格某列的值进行数字格式化并求百分比添加%
    需要对表格中某列的数值进行格式化,对该数值乘以100,并保留两位小数,添加"%"下面同实例来实现下1.问题背景 一般的,需要对表格中某列的数值进行格式化,对该数值乘以100,并保留两位小数,添加"%" 2.实现实例 <?xml version="1.0" encoding="utf- ...
  • Flex输出文件到本地的两种方法
    flex中输出文件到本地有两种方法分别是File和FielRefreence,下面的实例代码,大家可以看看在flex中输出文件到本地目前我用到两种方法,分别是File和FielRefreence 例子: var exportString:String = "这就是一个测试" 1.File输出 代码如下:var ff:File = File ...
猜你喜欢