示例#1
0
        public override Session CreateSession(Peer peer, Cookie cookie)
        {
            var connection  = new FlowWriter(FlowConnection.Signature, DownloadSession, 0);
            var connectArgs = Variant.Get();

            connectArgs["app"]            = AppName;
            connectArgs["tcUrl"]          = TcUrl;
            connectArgs["objectEncoding"] = 3.0;
            connectArgs["flashVer"]       = "WIN 17,0,0,134";
            connectArgs["fpad"]           = false;
            connectArgs["capabilities"]   = 235.0;
            connectArgs["audioCodecs"]    = 3575.0;
            connectArgs["videoCodecs"]    = 252.0;
            connectArgs["videoFunction"]  = 1.0;
            connectArgs["swfUrl"]         = Variant.Get();
            connectArgs["pageUrl"]        = Variant.Get();
            connection.Connect(connectArgs, (f1, message) =>
            {
                Log += message[1]["code"];
                if (message[1]["code"] == "NetConnection.Connect.Success")
                {
                    //connection.SetPeerInfo(FarProtocol.IOHandler.Socket.LocalEndPoint as IPEndPoint);
                    connection.CreateStream((f2, o) =>
                    {
                        DownloadSession.PlayStream(StreamName, f2.Id, o[1],
                                                   new OutFileRTMPFLVStream(this, StreamsManager,
                                                                            FilePath ?? Url.Substring(8).Replace('/', '_').Replace(':', '_') + ".flv", StreamName));
                        Status    = "正在下载";
                        StartTime = DateTime.Now;
                    });
                }
                else
                {
                    Status = "连接失败";
                }
            });
            return(DownloadSession);
        }
示例#2
0
 public override Session CreateSession(Peer peer, Cookie cookie)
 {
     var connection = new FlowWriter(FlowConnection.Signature,DownloadSession,0);
     var connectArgs = Variant.Get();
     connectArgs["app"] = AppName;
     connectArgs["tcUrl"] = TcUrl;
     connectArgs["objectEncoding"] = 3.0;
     connectArgs["flashVer"] = "WIN 17,0,0,134";
     connectArgs["fpad"] = false;
     connectArgs["capabilities"] = 235.0;
     connectArgs["audioCodecs"] = 3575.0;
     connectArgs["videoCodecs"] = 252.0;
     connectArgs["videoFunction"] = 1.0;
     connectArgs["swfUrl"] = Variant.Get();
     connectArgs["pageUrl"] = Variant.Get();
     connection.Connect(connectArgs, (f1, message) =>
     {
         Log += message[1]["code"];
         if (message[1]["code"] == "NetConnection.Connect.Success")
         {
             //connection.SetPeerInfo(FarProtocol.IOHandler.Socket.LocalEndPoint as IPEndPoint);
             connection.CreateStream((f2, o) =>
             {
                 DownloadSession.PlayStream(StreamName, f2.Id, o[1],
                     new OutFileRTMPFLVStream(this, StreamsManager,
                         FilePath ?? Url.Substring(8).Replace('/', '_').Replace(':', '_') + ".flv", StreamName));
                 Status = "正在下载";
                 StartTime = DateTime.Now;
             });
         }
         else
         {
             Status = "连接失败";
         }
     });
     return DownloadSession;
 }