winlin

remove the wizard control, too complex

1 -.wizard {  
2 - display:none;  
3 -}  
4 -.wizard-modal form {  
5 - margin:0;  
6 - padding:0;  
7 -}  
8 -.wizard-modal.modal {  
9 - width:750px;  
10 - margin-left:-375px;  
11 - top:50%;  
12 -}  
13 -.wizard-modal-footer {  
14 - padding:0;  
15 -}  
16 -.wizard-modal-header.modal-header h3 {  
17 - line-height:35px;  
18 - display:inline  
19 -}  
20 -.wizard-modal-header.modal-header {  
21 - border-bottom:0;  
22 -}  
23 -  
24 -.wizard-subtitle {  
25 - font-weight:bold;  
26 - color:#AFAFAF;  
27 - padding-left:20px;  
28 -}  
29 -  
30 -.wizard-error,  
31 -.wizard-failure,  
32 -.wizard-success,  
33 -.wizard-loading,  
34 -.wizard-card {  
35 - position:relative;  
36 - padding:35px;  
37 - padding-top:20px;  
38 - overflow-y:auto;  
39 - height:300px;  
40 - display:none;  
41 - border-top: 1px solid #EEE;  
42 - margin-right: 5px;  
43 -}  
44 -  
45 -.wizard-nav-link .icon-chevron-right {  
46 - float:right;  
47 - margin-top:12px;  
48 - margin-right:-6px;  
49 - opacity:.25;  
50 -}  
51 -  
52 -li.wizard-nav-item.active .icon-chevron-right {  
53 - opacity:1;  
54 -}  
55 -  
56 -li.wizard-nav-item {  
57 - line-height:40px;  
58 -}  
59 -  
60 -.wizard-no-modal .nav-list > li > a,  
61 -.wizard-modal.modal .nav-list > li > a {  
62 - background-color:#f5f5f5;  
63 - padding:3px 15px 3px 20px;  
64 - cursor:default;  
65 - color:#B4B4B4;  
66 -}  
67 -  
68 -.wizard-no-modal .nav-list li.active > a,  
69 -.wizard-modal.modal .nav-list li.active > a {  
70 - background-color:#08C;  
71 -}  
72 -.wizard-no-modal .nav-list > li.already-visited > a.wizard-nav-link,  
73 -.wizard-modal.modal .nav-list > li.already-visited > a.wizard-nav-link {  
74 - color:#08C;  
75 - cursor:pointer;  
76 -}  
77 -  
78 -.wizard-no-modal .nav-list > li.active > a.wizard-nav-link,  
79 -.wizard-modal.modal .nav-list > li.active > a.wizard-nav-link {  
80 - color:white;  
81 -}  
82 -  
83 -.already-visited > a.wizard-nav-link:hover {  
84 - background-color:#E4E4E4;  
85 -}  
86 -  
87 -.wizard-card > h3 {  
88 - margin-top:0;  
89 - margin-bottom:20px;  
90 - font-size:21px;  
91 - line-height:40px;  
92 - font-weight:normal;  
93 -}  
94 -  
95 -.wizard-progress {  
96 - padding:15px;  
97 - bottom:0;  
98 -}  
99 -.wizard-progress-container {  
100 - padding:20px;  
101 -}  
102 -  
103 -.wizard-steps {  
104 - width:28%;  
105 - height:425px;  
106 - background-color:#f5f5f5;  
107 -}  
108 -  
109 -.wizard-nav-container {  
110 - height:360px;  
111 -}  
112 -  
113 -.nav > li > a.wizard-step-error {  
114 - background-color:#F2DEDE;  
115 - color:#B94A48;  
116 - font-weight:bold;  
117 -}  
118 -  
119 -.wizard-step-error .icon-chevron-right {  
120 - opacity:0;  
121 -}  
122 -  
123 -.wizard-input-section {  
124 - margin-bottom:20px;  
125 -}  
126 -  
127 -.wizard-buttons-container {  
128 - padding:20px;  
129 -}  
130 -  
131 -.wizard-cancel {  
132 - display:none;  
133 - margin-left:20px;  
134 -}  
135 -  
136 -.wizard-close {  
137 - display: none;  
138 -}  
139 -  
140 -.wizard-no-modal .popover.error-popover,  
141 -.wizard-modal .popover.error-popover {  
142 - background-color:#F2DEDE;  
143 - color:#B94A48;  
144 - border-color:#953B39;  
145 -}  
146 -  
147 -.wizard-no-modal .popover.error-popover .arrow::after,  
148 -.wizard-modal .popover.error-popover .arrow::after {  
149 - border-right-color:#F2DEDE;  
150 -}  
151 -  
152 -.wizard-no-modal .popover.error-popover .popover-title,  
153 -.wizard-modal .popover.error-popover .popover-title {  
154 - display:none;  
155 -}  
156 -  
157 -.wizard-no-modal .popover.error-popover .arrow,  
158 -.wizard-modal .popover.error-popover .arrow {  
159 - border-right-color:#953B39;  
160 -}  
1 -!function(a){a.fn.wizard=function(a){return new Wizard(this,a)},a.fn.wizard.logging=!1;var b=function(a,b,c,d,e){this.wizard=a,this.index=c,this.prev=d,this.next=e,this.el=b,this.title=b.find("h3").first().text(),this.name=b.data("cardname")||this.title,this.nav=this._createNavElement(this.title,c),this._disabled=!1,this._loaded=!1,this._events={}};b.prototype={select:function(){this.log("selecting"),this.isSelected()||(this.nav.addClass("active"),this.el.show(),this._loaded||(this.trigger("loaded"),this.reload()),this.trigger("selected"));var a=this.wizard;return a.backButton.toggleClass("disabled",0==this.index),this.index>=a._cards.length-1?(this.log("on last card, changing next button to submit"),a.changeNextButton(a.args.buttons.submitText,"btn-success"),a._readyToSubmit=!0,a.trigger("readySubmit")):(a._readyToSubmit=!1,a.changeNextButton(a.args.buttons.nextText,"btn-primary")),this},_createNavElement:function(b,c){var d=a('<li class="wizard-nav-item"></li>'),e=a('<a class="wizard-nav-link"></a>');return e.data("navindex",c),d.append(e),e.append('<i class="icon-chevron-right"></i>'),e.append(b),d},markVisited:function(){return this.log("marking as visited"),this.nav.addClass("already-visited"),this.trigger("markVisited"),this},unmarkVisited:function(){return this.log("unmarking as visited"),this.nav.removeClass("already-visited"),this.trigger("unmarkVisited"),this},deselect:function(){return this.nav.removeClass("active"),this.el.hide(),this.trigger("deselect"),this},enable:function(){return this.log("enabling"),this.nav.addClass("active"),this._disabled=!1,this.trigger("enabled"),this},disable:function(a){return this.log("disabling"),this._disabled=!0,this.nav.removeClass("active already-visited"),a&&this.el.hide(),this.trigger("disabled"),this},isDisabled:function(){return this._disabled},alreadyVisited:function(){return this.nav.hasClass("already-visited")},isSelected:function(){return this.nav.hasClass("active")},reload:function(){return this._loaded=!0,this.trigger("reload"),this},on:function(){return this.wizard.on.apply(this,arguments)},trigger:function(){return this.callListener("on"+arguments[0]),this.wizard.trigger.apply(this,arguments)},toggleAlert:function(b,c){this.log("toggling alert to: "+c),c="undefined"==typeof c?!0:c,c?this.trigger("showAlert"):this.trigger("hideAlert");var d,e=this.el.children("h3").first().next("div.alert");if(0==e.length){if(!c)return this;this.log("couldn't find existing alert div, creating one"),d=a("<div />"),d.addClass("alert"),d.addClass("hide"),d.insertAfter(this.el.find("h3").first())}else this.log("found existing alert div"),d=e.first();return c?(null!=b&&(this.log("setting alert msg to",b),d.html(b)),d.show()):d.hide(),this},callListener:function(a){a=a.toLowerCase(),this.log("looking for listener "+a);var b=window[this.el.data(a)];if(b){this.log("calling listener "+a),this.wizard;try{b(this)}catch(e){this.log("exception calling listener "+a+": ",e)}}else this.log("didn't find listener "+a)},problem:function(a){this.nav.find("a").toggleClass("wizard-step-error",a)},validate:function(){var b=!1,c=this;this.el.find("[data-validate]").each(function(d,e){c.log("validating individiual inputs"),e=a(e);var f=e.data("validate");if(f){var g={status:!0,title:"Error",msg:""},h=window[f](e);if(a.extend(g,h),g.status){e.parent(".control-group").toggleClass("error",!1);try{e.popover("destroy")}catch(i){e.popover("hide")}}else b=!0,e.parent(".control-group").toggleClass("error",!0),c.wizard.errorPopover(e,g.msg)}}),this.log("after validating inputs, failures is",b);var d=window[this.el.data("validate")];if(d){this.log("running html-embedded card validator");var e=d(this);("undefined"==typeof e||null==e)&&(e=!0),e||(b=!0),this.log("after running html-embedded card validator, failures is",b)}this.log("running listener validator");var f=this.trigger("validate");("undefined"==typeof f||null==f)&&(f=!0),f||(b=!0),this.log("after running listener validator, failures is",b);var g=!b;return g?(this.log("validated, calling listeners"),this.trigger("validated")):(this.log("invalid"),this.trigger("invalid")),g},log:function(){if(window.console&&a.fn.wizard.logging){var b="card '"+this.name+"': ",c=[b];c.push.apply(c,arguments),console.log.apply(console,c)}},isActive:function(){return this.nav.hasClass("active")}},Wizard=function(b,c){var d=['<div class="modal hide wizard-modal" role="dialog">','<div class="wizard-modal-header modal-header">','<button class="wizard-close close" type="button">x</button>','<h3 class="wizard-title"></h3>','<span class="wizard-subtitle"></span>',"</div>",'<div class="pull-left wizard-steps">','<div class="wizard-nav-container">','<ul class="nav nav-list" style="padding-bottom:30px;">',"</ul>","</div>",'<div class="wizard-progress-container">',,'<div class="progress progress-striped">','<div class="bar"></div>',"</div>","</div>","</div>","<form>",'<div class="wizard-cards">','<div class="wizard-card-container">',"</div>",'<div class="wizard-modal-footer">','<div class="wizard-buttons-container">','<button class="btn wizard-cancel wizard-close" type="button">Cancel</button>','<div class="btn-group-single pull-right">','<button class="btn wizard-back" type="button">Back</button>','<button class="btn btn-primary wizard-next" type="button">Next</button>',"</div>","</div>","</div>","</div>","</form>","</div>"],e=['<div class="wizard-no-modal" role="dialog">','<div class="wizard-modal-header modal-header">','<button class="wizard-close close" type="button">x</button>','<h3 class="wizard-title"></h3>','<span class="wizard-subtitle"></span>',"</div>",'<div class="pull-left wizard-steps">','<div class="wizard-nav-container">','<ul class="nav nav-list" style="padding-bottom:30px;">',"</ul>","</div>",'<div class="wizard-progress-container">',,'<div class="progress progress-striped">','<div class="bar"></div>',"</div>","</div>","</div>","<form>",'<div class="wizard-cards">','<div class="wizard-card-container">',"</div>",'<div class="wizard-modal-footer">','<div class="wizard-buttons-container">','<button class="btn wizard-cancel wizard-close" type="button">Cancel</button>','<div class="btn-group-single pull-right">','<button class="btn wizard-back" type="button">Back</button>','<button class="btn btn-primary wizard-next" type="button">Next</button>',"</div>","</div>","</div>","</div>","</form>","</div>"];this.args={submitUrl:"",width:750,showCancel:!1,showClose:!0,progressBarCurrent:!1,increaseHeight:0,buttons:{cancelText:"Cancel",nextText:"Next",backText:"Back",submitText:"Submit",submittingText:"Submitting..."},isModal:!0},a.extend(this.args,c||{});var f=this.args.isModal?d:e;this.args.isModal||(this.args.showCancel=!1,this.args.showClose=!1),this.markup=a(b),this.submitCards=this.markup.find(".wizard-error,.wizard-failure,.wizard-success,.wizard-loading"),this.el=a(f.join("\n")),this.el.find(".wizard-card-container").append(this.markup.find(".wizard-card")).append(this.submitCards),a("body").append(this.el),this.closeButton=this.el.find("button.wizard-close"),this.footer=this.el.find(".wizard-modal-footer"),this.cancelButton=this.footer.find(".wizard-cancel"),this.backButton=this.footer.find(".wizard-back"),this.nextButton=this.footer.find(".wizard-next"),this.progress=this.el.find(".progress"),this._cards=[],this.cards={},this._readyToSubmit=!1,this.percentComplete=0,this._submitting=!1,this._events={},this._firstShow=!0,this._createCards(),this.nextButton.click(this,this._handleNextClick),this.backButton.click(this,this._handleBackClick),this.cancelButton.text(this.args.buttons.cancelText),this.backButton.text(this.args.buttons.backText),this.nextButton.text(this.args.buttons.nextText);var g=360,h=g+this.args.increaseHeight;this.el.find(".wizard-nav-container").css("height",h),this.el.find(".wizard-steps").css("height",h+65+"px"),this.el.find(".wizard-card").css("height",h-60+"px"),this.submitCards.css("height",h-60+"px"),this.args.isModal&&this.el.css("margin-top",-(this.el.height()/2)),this.el.css("width",this.args.width),this.args.isModal&&this.el.css("margin-left",-(this.args.width/2));var j=this;this.closeButton.click(function(){j.reset(),j.close(),j.trigger("closed")}),this.el.find(".wizard-steps").on("click","li.already-visited a.wizard-nav-link",this,function(b){var c=parseInt(a(b.target).data("navindex"));b.data.setCard(c)});var k=this.markup.children("h1").first();k.length&&this.setTitle(k.text()),this.on("submit",this._defaultSubmit)},Wizard.prototype={errorPopover:function(a,b){this.log("launching popover on",a);var c=a.popover({content:b,trigger:"manual"}).popover("show").next(".popover");return c.addClass("error-popover"),c},destroyPopover:function(b){b=a(b),b.parent(".control-group").toggleClass("error",!1);var c=b.prev();try{c.popover("destroy")}catch(d){c.popover("hide")}},hidePopovers:function(){this.log("hiding all popovers");var b=this;this.el.find(".error-popover").each(function(a,c){b.destroyPopover(c)})},eachCard:function(b){return a.each(this._cards,b),this},getActiveCard:function(){this.log("getting active card");var b=null;return a.each(this._cards,function(a,c){return c.isActive()?(b=c,!1):void 0}),b?this.log("found active card",b):this.log("couldn't find an active card"),b},setTitle:function(a){return this.log("setting title to",a),this.el.find(".wizard-title").first().text(a),this},setSubtitle:function(a){return this.log("setting subtitle to",a),this.el.find(".wizard-subtitle").first().text(a),this},changeNextButton:function(a,b){return this.log("changing next button, text: "+a,"class: "+b),"undefined"!=typeof b&&this.nextButton.removeClass("btn-success btn-primary"),b&&this.nextButton.addClass(b),this.nextButton.text(a),this},hide:function(){return this.log("hiding"),this.args.isModal?this.el.modal("hide"):this.el.css("display","none"),this},close:function(){return this.log("closing"),this.args.isModal?this.el.modal("hide"):this.el.css("display","none"),this},show:function(a){return this.log("showing"),this._firstShow&&(this.setCard(0),this._firstShow=!1),this.args.showCancel&&this.cancelButton.show(),this.args.showClose&&this.closeButton.show(),this.args.isModal?this.el.modal(a):this.el.css("display","block"),this},on:function(a,b){return this.log("adding listener to event "+a),this._events[a]=b,this},trigger:function(){var a=arguments[0],b=Array.prototype.slice.call(arguments);b.shift(),b.unshift(this),this.log("firing event "+a);var c=this._events[a],d=null;if("function"==typeof c){this.log("found event handler, calling "+a);try{d=c.apply(this,b)}catch(e){this.log("event handler "+a+" had an exception")}}else this.log("couldn't find an event handler for "+a);return d},reset:function(){return this.log("resetting"),this.updateProgressBar(0),this.hideSubmitCards(),this.setCard(0),this.lockCards(),this.enableNextButton(),this.showButtons(),this.hidePopovers(),this.trigger("reset"),this},log:function(){if(window.console&&a.fn.wizard.logging){var b="wizard "+this.el.id+": ",c=[b];c.push.apply(c,arguments),console.log.apply(console,c)}},_abstractIncrementStep:function(a,b){var d,c=this.getActiveCard();if(c)for(this.log("searching for valid next card");;){if(d=b(c)){if(this.log("looking at card",d.index),d.isDisabled()){this.log("card "+d.index+" is disabled/locked, continuing"),c=d;continue}return this.setCard(c.index+a)}this.log("next card is not defined, breaking");break}else this.log("current card is undefined")},incrementCard:function(){this.log("incrementing card");var a=this._abstractIncrementStep(1,function(a){return a.next});return this.trigger("incrementCard"),a},decrementCard:function(){this.log("decrementing card");var a=this._abstractIncrementStep(-1,function(a){return a.prev});return this.trigger("decrementCard"),a},setCard:function(a){this.log("setting card to "+a),this.hideSubmitCards();var b=this.getActiveCard();if(this._submitting)return this.log("we're submitting the wizard already, can't change cards"),b;var c=this._cards[a];if(c){if(c.isDisabled())return this.log("new card is currently disabled, returning"),b;if(b){if(a>b.index){for(var d=b,e=!1;d.index!=c.index;){if(d.index!=b.index&&(d.prev.deselect(),d.prev.markVisited(),d.select()),e=d.validate(),!e)return d;d=d.next}d.prev.deselect(),d.prev.markVisited()}b.deselect(),b.markVisited()}if(c.select(),this.args.progressBarCurrent)this.percentComplete=100*a/this._cards.length,this.updateProgressBar(this.percentComplete);else{var f=this.percentComplete;this.percentComplete=100*a/this._cards.length,this.percentComplete=Math.max(f,this.percentComplete),this.updateProgressBar(this.percentComplete)}return c}this.log("couldn't find card "+a)},updateProgressBar:function(a){this.log("updating progress to "+a+"%"),this.progress.find(".bar").css({width:a+"%"}),this.percentComplete=a,this.trigger("progressBar",a),100==a?(this.log("progress is 100, animating progress bar"),this.progress.addClass("active")):0==a&&(this.log("progress is 0, disabling animation"),this.progress.removeClass("active"))},getNextCard:function(){var a=this.getActiveCard();return a?a.next:void 0},lockCards:function(){return this.log("locking nav cards"),this.eachCard(function(a,b){b.unmarkVisited()}),this},disableCards:function(){return this.log("disabling all nav cards"),this.eachCard(function(a,b){b.disable()}),this},enableCards:function(){return this.log("enabling all nav cards"),this.eachCard(function(a,b){b.enable()}),this},hideCards:function(){return this.log("hiding cards"),this.eachCard(function(a,b){b.deselect()}),this.hideSubmitCards(),this},hideButtons:function(){return this.log("hiding buttons"),this.cancelButton.hide(),this.closeButton.hide(),this.nextButton.hide(),this.backButton.hide(),this},showButtons:function(){return this.log("showing buttons"),this.args.showCancel&&this.cancelButton.show(),this.args.showClose&&this.closeButton.show(),this.nextButton.show(),this.backButton.show(),this},getCard:function(b){var c=a(b).parents(".wizard-card").first()[0];if(c){var d=null;return this.eachCard(function(a,b){return c==b.el[0]?(d=b,!1):!0}),d}return null},_createCards:function(){var c=null,d=null,e=null,f=this,g=this,h=this.el.find(".wizard-cards .wizard-card");a.each(h,function(h,i){i=a(i),c=e,e=new b(f,i,h,c,d),g._cards.push(e),e.name&&(g.cards[e.name]=e),c&&(c.next=e),g.el.find(".wizard-steps .nav-list").append(e.nav)})},showSubmitCard:function(a){this.log("showing "+a+" submit card");var b=this.el.find(".wizard-"+a);b.length?(this.hideCards(),this.el.find(".wizard-"+a).show()):this.log("couldn't find submit card "+a)},hideSubmitCard:function(a){this.log("hiding "+a+" submit card"),this.el.find(".wizard-"+a).hide()},hideSubmitCards:function(){var b=this;a.each(["success","error","failure","loading"],function(a,c){b.hideSubmitCard(c)})},enableNextButton:function(){return this.log("enabling next button"),this.nextButton.removeAttr("disabled"),this},disableNextButton:function(){return this.log("disabling next button"),this.nextButton.attr("disabled","disabled"),this},serializeArray:function(){var a=this.el.children("form").first();return a.serializeArray()},serialize:function(){var a=this.el.children("form").first();return a.serialize()},submitSuccess:function(){this.log("submit success"),this._submitting=!1,this.showSubmitCard("success"),this.trigger("submitSuccess")},submitFailure:function(){this.log("submit failure"),this._submitting=!1,this.showSubmitCard("failure"),this.trigger("submitFailure")},submitError:function(){this.log("submit error"),this._submitting=!1,this.showSubmitCard("error"),this.trigger("submitError")},_submit:function(){this.log("submitting wizard"),this._submitting=!0,this.lockCards(),this.cancelButton.hide(),this.closeButton.hide(),this.backButton.hide(),this.showSubmitCard("loading"),this.updateProgressBar(100),this.changeNextButton(this.args.buttons.submittingText,!1),this.disableNextButton(),this.trigger("submit"),this.trigger("loading")},_onNextClick:function(){this.log("handling 'next' button click");var a=this.getActiveCard();this._readyToSubmit&&a.validate()?this._submit():a=this.incrementCard()},_onBackClick:function(){this.log("handling 'back' button click"),this.decrementCard()},_handleNextClick:function(a){var b=a.data;b._onNextClick.call(b)},_handleBackClick:function(a){var b=a.data;b._onBackClick.call(b)},_defaultSubmit:function(b){a.ajax({type:"POST",url:b.args.submitUrl,data:b.serialize(),dataType:"json",success:function(){b.submitSuccess(),b.hideButtons(),b.updateProgressBar(0)},error:function(){b.submitFailure(),b.hideButtons()}})}}}(window.jQuery);  
@@ -4,10 +4,8 @@ @@ -4,10 +4,8 @@
4 <title>SRS</title> 4 <title>SRS</title>
5 <meta charset="utf-8"> 5 <meta charset="utf-8">
6 <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"/> 6 <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"/>
7 - <link rel="stylesheet" type="text/css" href="css/bootstrap-wizard.css"/>  
8 <script type="text/javascript" src="js/jquery-1.10.2.min.js"></script> 7 <script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
9 <script type="text/javascript" src="js/bootstrap.min.js"></script> 8 <script type="text/javascript" src="js/bootstrap.min.js"></script>
10 - <script type="text/javascript" src="js/bootstrap-wizard.min.js"></script>  
11 <script type="text/javascript" src="js/swfobject.js"></script> 9 <script type="text/javascript" src="js/swfobject.js"></script>
12 <script type="text/javascript" src="js/srs.js"></script> 10 <script type="text/javascript" src="js/srs.js"></script>
13 <style> 11 <style>
@@ -27,20 +25,13 @@ @@ -27,20 +25,13 @@
27 // url set to: rtmp://demo:1935/live/livestream 25 // url set to: rtmp://demo:1935/live/livestream
28 srs_init("#txt_url", null, null); 26 srs_init("#txt_url", null, null);
29 27
30 - $("#btn_video_settings").click(function(){ 28 + $("#btn_create_chat").click(function(){
31 $("#video_modal").modal({show:true}); 29 $("#video_modal").modal({show:true});
32 }); 30 });
33 - $("#btn_audio_settings").click(function(){ 31 + $("#btn_join_chat").click(function(){
34 $("#audio_modal").modal({show:true}); 32 $("#audio_modal").modal({show:true});
35 }); 33 });
36 34
37 - $("#remote_tips").tooltip({  
38 - title: "为了支持HLS输出,FLASH编码器输出的流需要经过转码(VP6=>H264,MP3=>aac),所以会黑屏较长时间,请耐心等待"  
39 - });  
40 - $("#low_latecy_tips").tooltip({  
41 - title: "服务器不转码直接转发FLASH编码器的流,所以延迟比支持HLS的流要低很多"  
42 - });  
43 -  
44 $("#btn_publish").click(on_user_publish); 35 $("#btn_publish").click(on_user_publish);
45 36
46 // for publish, we use randome stream name. 37 // for publish, we use randome stream name.
@@ -126,7 +117,7 @@ @@ -126,7 +117,7 @@
126 }; 117 };
127 srs_publisher.start(); 118 srs_publisher.start();
128 119
129 - //wizard = $("#main_wizard").wizard({}); 120 + //wizard = $("#some-wizard").wizard({});
130 //wizard.show(); 121 //wizard.show();
131 122
132 // if no play specified, donot show the player, for debug the publisher. 123 // if no play specified, donot show the player, for debug the publisher.
@@ -150,14 +141,6 @@ @@ -150,14 +141,6 @@
150 } 141 }
151 }); 142 });
152 143
153 - /**  
154 - * we generate the transcoded stream url for flash publish donot support HLS  
155 - * which requires aac, so the publish vhost maybe players for example, we  
156 - * use players_pub vhost(transcoded stream to which) for all clients,  
157 - * both players and players_pub are write HLS to the sample dir,  
158 - * it's ok for the players vhost disabled the HLS, only the  
159 - * players_pub enalbed HLS.  
160 - */  
161 function update_play_url() { 144 function update_play_url() {
162 var url = $("#txt_url").val(); 145 var url = $("#txt_url").val();
163 var ret = srs_parse_rtmp_url(url); 146 var ret = srs_parse_rtmp_url(url);
@@ -277,25 +260,12 @@ @@ -277,25 +260,12 @@
277 <div class="alert alert-info fade in" id="txt_log"> 260 <div class="alert alert-info fade in" id="txt_log">
278 <button type="button" class="close" data-dismiss="alert">×</button> 261 <button type="button" class="close" data-dismiss="alert">×</button>
279 <strong><span id="txt_log_title">Usage:</span></strong> 262 <strong><span id="txt_log_title">Usage:</span></strong>
280 - <span id="txt_log_msg">设置编码参数,点“发布视频”,允许Flash访问摄像头即可推流</span>  
281 - </div>  
282 - <!-- http://www.panopta.com/2013/02/06/bootstrap-application-wizard/ -->  
283 - <!-- https://github.com/amoffat/bootstrap-application-wizard -->  
284 -<div class="wizard" id="main_wizard" data-title="Wizard Title">  
285 - <div class="wizard-card" data-cardname="card1">  
286 - <h3>Card 1</h3>  
287 - Some content 263 + <span id="txt_log_msg">创建会议室,或者加入会议室</span>
288 </div> 264 </div>
289 -  
290 - <div class="wizard-card" data-cardname="card2">  
291 - <h3>Card 2</h3>  
292 - Some content  
293 - </div>  
294 -</div>  
295 <div class="control-group"> 265 <div class="control-group">
296 <div class="form-inline"> 266 <div class="form-inline">
297 - <button class="btn" id="btn_video_settings">视频编码配置</button>  
298 - <button class="btn" id="btn_audio_settings">音频编码配置</button> 267 + <button class="btn" id="btn_create_chat">创建会议室</button>
  268 + <button class="btn" id="btn_join_chat">加入会议室</button>
299 </div> 269 </div>
300 </div> 270 </div>
301 <div class="control-group"> 271 <div class="control-group">