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;
}