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

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

在《FMS3系列(四):在线视频录制、视频回放》这篇文章里我写了通过FMS来实现在线视频录制和视频回放的功能,客户端的开发和 这篇文章是相同的,不同的是本文将使用Flex来开发。

首先我们来看看使用FluorineFx服务端是如何开发的,建立ApplicationAdapter是必然的,这里我们为本文中的示例程序建立的 ApplicationAdapter为VideoApplication,并为其添加RemotingServiceAttribute如下代码块:

namespace Fx.Adapter
{
    /// <summary>
    /// 视频应用
    /// </summary>
     [RemotingService]
    public class VideoApplication : ApplicationAdapter
    {
         public override bool AppStart(IScope application)
        {
            return  base.AppStart(application);
        }

        public override bool AppConnect(IConnection  connection, object[] parameters)
        {
            return base.AppConnect(connection,  parameters);
        }
    }
}

ApplicationAdapter模板所提供的方法在实际项目开发中根 据自己的需求去重写,这里不作过多介绍。光是这样还是不能实现视频的录制和回放的功能,这只是实现了基本的启动应用程序和客户端连接 等基本功能,要想实现视频录制和回放,我们还得让VideoApplication实现IStreamService接口,该接口提供了实现视频发布和播放的相应功 能,其定义如下:

namespace FluorineFx.Messaging.Api.Stream
{
    [CLSCompliant(false)]
     public interface IStreamService : IScopeService, IService
    {
        void closeStream();
        int createStream();
        void deleteStream(int streamId);
        void  deleteStream(IStreamCapableConnection connection, int streamId);
        void pause(bool pausePlayback,  double position);
        void play(bool dontStop);
        void play(string name);
         void play(string name, double start);
        void play(string name, double start, double  length);
        void play(string name, double start, double length, bool flushPlaylist);
         void publish(bool dontStop);
        void publish(string name);
        void publish (string name, string mode);
        void receiveAudio(bool receive);
        void  receiveVideo(bool receive);
        void releaseStream(string streamName);
        void seek (double position);
    }
}

时间: 2024-11-01 14:59:49

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

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

通过它我们可以非常方便的实现在线视频录制.视频直播.视频聊天以及视频会议等类似应用程序的开发.  在<FMS3系列(四):在线视频录制.视频回放 >这篇文章里我写了通过FMS来实现在线视频录制和视频回放的功能,客户端的开发和这篇文章是相同的,不同的是本文将使用Flex来开发.       首先我们来看看使用FluorineFx服务端是如何开发的,建立ApplicationAdapter是必然的,这里我们为本文中的示例程序建立的ApplicationAdapter为VideoApplicatio

Flex与.NET互操作 了解FluorineFx的环境配置(远程对象、网关、通道、目的地)_Flex

在本系列文章的前面几篇文章中所介绍的访问Webservice的方法,也就是一种远程对象方法,只不过他是基于WEB服务(WebServie)的远程访问,不是基于远程对象(Remoting Object)的的远程访问.要想直接实现基于对象的远程访问是比较麻烦的,然后FluorineFx则专门为我们提供了该功能,通过 FluorineFx的核心库来开发远程对象(Remoting Object)服务,具体是怎么实现的呢? FluorineFx要求为远程对象提供[RemotingService]标记来提供

Flex与.NET互操作(十二):FluorineFx.Net的及时通信应用(Remote Shared Objects)(三)_Flex

FluorineFx所提供的远程共享对象(Remote Shared Objects)和FMS的共享对象的功能是一样,对于熟悉FMS开发的朋友来说,学习FluorineFx的远程共享对象是非常简单的.       共享对象可以在服务器端创建,也可以在客户端创建.在客户端创建共享对象的方法和使用FMS开发是一样的,创建一个 NetConnection对象,通过该对象的connect()方法连接到服务器,然后通过SharedObject.getRemote()方法就可以在客户端创建一个远程共享对象.

Flex与.NET互操作(十六):FluorineFx + Flex视频聊天室案例开发

本文将使用FluorineFx和Flex结合介绍一个简单的视频聊天室案例开发,希望通过此篇和大家交流FluorineFx和Flex的相关技术,同时也希 望本篇可以帮助到需要使用FluorineFx做及时应用开发的新手朋友.首先列举下本篇中所涉及到的开发环境和相关技术以及简单的需求定义: 1. Microsoft Visual Studio 2008(VS SP1)+.NET Framework 3.5(SP1) 2. FluorineFx v1.0.0.15 3. Adobe Flex Buil

Flex与.NET互操作(六):Flex和.NET协同开发利器FluorineFx

在本系列前面几篇文章中分别介绍了通过WebService.HTTPService.URLLoader以及FielReference等组件或类来完成Flex与.NET服务端的 通信的相关知识点.通过这些方式来完成与服务端的通信是非常方便和简单的,但有他的缺点就是通信数据量较小,如要传输大量的数据或是 实现不同对象的序列化传输,它们则满足不了我们的需求,需要寻找另外一种通信协议,另一种高效的传输协议来代替SOAP协议传输的方案, 那便是AMF(ActionScript Message Format)

Flex与.NET互操作(十):FluorineFx.Net的及时通信应用(ApplicationAdapter)(一)_Flex

应用程序适配器对象也就相当于是一个Flash媒体服务器应用程序的对象. 使用FluorineFx.Net开发及时通信应用,我们可以通过ASP.NET网站来宿主,一个ASP.NET网站可以承载多个实时通讯应用程序.这些应用程序都存储ASP.NET网站的根目录下指定文件夹的根目录中.如下图示:                                       在开发FluorineFx的及时通信应用的时候,按照FluorineFx的目录结构配置ASP.NET的站点目录是非常简单的,只需要在

Flex和.NET协同开发利器FluorineFx Flex与.NET互操作_Flex

通过这些方式来完成与服务端的通信是非常方便和简单的,但有他的缺点就是通信数据量较小,如要传输大量的数据或是实现不同对象的序列化传输,它们则满足不了我们的需求,需要寻找另外一种通信协议,另一种高效的传输协议来代替SOAP协议传输的方案,那便是AMF(ActionScript Message Format)协议.      开源项目FluorineFx就是专门针对.NET平台与Flex通信提供的AMF协议通信网关,我们可以通过FluorineFx很方便的完成与.NET的通信.      Fluori

Flex与.NET互操作(十五)

Flex与.NET互操作(十五):使用FluorineFx中的字节数组(ByteArray)实现图片上传 前几天一位朋友问我一个问题,他说:"我用HTTP接口或是WebService接口可以实现图片上传功能,那么用FluorineFx如何实现图片 上传功能呢?",其实仔细看官方文档和示例程序的自己都可以找到答案,实现上传可以有很多种实现,这里我以官方所提供是示例为基 础稍加改动,通过ByteArray类实现图片上传. 首先建立FluorineFx库和网站,在远程服务器类里添加一个处理文

Flex与.NET互操作(十二)

Flex与.NET互操作(十二):FluorineFx.Net的及时通信应用(Remote Shared Objects)(三) 远程共享对象(Remote Shared Objects) 可以用来跟踪.存储.共享以及做多客户端的数据同步操作.只要共享对象上的数据发生了改变 ,将会把最新数据同步到所有连接到该共享对象的应用程序客户端.FluorineFx所提供的远程共享对象(Remote Shared Objects)和FMS的共享 对象的功能是一样,对于熟悉FMS开发的朋友来说,学习Fluor