using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using WeiSha.Common; using Song.ServiceInterfaces; using Song.Entities; using System.Xml.Serialization; using System.IO; using System.Collections.Generic; namespace Song.Site.Manage.Course { public partial class Outline_Live : Extend.CustomPage { //章节ID private int id = WeiSha.Common.Request.QueryString["id"].Int32 ?? 0; protected void Page_Load(object sender, EventArgs e) { if (!this.IsPostBack) initBind(); } /// /// 附件绑定 /// protected void initBind() { Song.Entities.Outline mm = Business.Do().OutlineSingle(id); //是否为直播课 cbIsLive.Checked = mm.Ol_IsLive; tbLiveTime.Text = mm.Ol_LiveTime < DateTime.Now.AddYears(-100) ? "" : mm.Ol_LiveTime.ToString("yyyy-MM-dd HH:mm"); tbLiveSpan.Text = mm.Ol_LiveSpan == 0 ? "" : mm.Ol_LiveSpan.ToString(); //直播流地址 pili_sdk.pili.Stream stream = null; try { stream = Business.Do().StreamGet(mm.Ol_LiveID); if (stream != null) { //推流地址 ltPublish.Text = string.Format("rtmp://{0}/{1}/{2}", stream.PublishRtmpHost, stream.HubName, stream.Title); //直播地址 string proto = Business.Do().GetProtocol; //协议,http还是https ltPlayHls.Text = string.Format("{0}://{1}/{2}/{3}.m3u8", proto, stream.LiveHlsHost, stream.HubName, stream.Title); ltPlayRtmp.Text = string.Format("rtmp://{0}/{1}/{2}", stream.LiveRtmpHost, stream.HubName, stream.Title); } } catch (Exception ex) { panelError.Visible = true; lbError.Text = "直播调用发生异常:" + ex.Message; } } protected void btnEnter_Click(object sender, EventArgs e) { Song.Entities.Outline ol = Business.Do().OutlineSingle(id); //是否为直播 ol.Ol_IsLive = cbIsLive.Checked; DateTime timeLive = DateTime.Now; //直播开始时间 DateTime.TryParse(tbLiveTime.Text, out timeLive); ol.Ol_LiveTime = timeLive; // int liveSpan = 0; //直播计划时长 int.TryParse(tbLiveSpan.Text, out liveSpan); ol.Ol_LiveSpan = liveSpan; try { Business.Do().OutlineSave(ol); Master.AlertCloseAndRefresh("操作完成"); } catch { throw; } } } }