Skip to content

Commit 6472930

Browse files
committed
updates sample app to add hasAudio, hasVideo and outputMode
1 parent 6206e88 commit 6472930

File tree

3 files changed

+62
-5
lines changed

3 files changed

+62
-5
lines changed

sample/Archiving/public/js/host.js

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,20 +18,33 @@ session.on('archiveStarted', function(event) {
1818
console.log("ARCHIVE STARTED");
1919
$(".start").hide();
2020
$(".stop").show();
21+
disableForm();
2122
});
2223

2324
session.on('archiveStopped', function(event) {
2425
archiveID = null;
2526
console.log("ARCHIVE STOPPED");
2627
$(".start").show();
2728
$(".stop").hide();
29+
enableForm();
2830
});
2931

3032
$(document).ready(function() {
31-
$(".start").click(function(event){
32-
$.get("start");
33+
$(".start").click(function (event) {
34+
var options = $(".archive-options").serialize();
35+
disableForm();
36+
$.post("/start", options).fail(enableForm);
3337
}).show();
3438
$(".stop").click(function(event){
3539
$.get("stop/" + archiveID);
3640
}).hide();
37-
});
41+
});
42+
43+
44+
function disableForm() {
45+
$(".archive-options-fields").attr('disabled', 'disabled');
46+
}
47+
48+
function enableForm() {
49+
$(".archive-options-fields").removeAttr('disabled');
50+
}

sample/Archiving/src/main/java/com/example/ArchivingServer.java

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,16 @@
33
import static spark.Spark.*;
44

55
import com.opentok.*;
6+
import com.opentok.Archive.OutputMode;
7+
68
import spark.*;
79

810
import java.util.Map;
911
import java.util.HashMap;
1012
import java.util.List;
1113

14+
import javax.servlet.http.HttpServletRequest;
15+
1216
import com.opentok.exception.OpenTokException;
1317

1418
public class ArchivingServer {
@@ -137,14 +141,31 @@ public Object handle(Request request, Response response) {
137141
}
138142
});
139143

140-
get(new Route("/start") {
144+
post(new Route("/start") {
141145
@Override
142146
public Object handle(Request request, Response response) {
143147

144148
Archive archive = null;
149+
HttpServletRequest req = request.raw();
150+
boolean hasAudio = req.getParameterMap().containsKey("hasAudio");
151+
boolean hasVideo = req.getParameterMap().containsKey("hasVideo");
152+
OutputMode outputMode = OutputMode.COMPOSED;
153+
if (req.getParameterMap().containsKey("outputMode")) {
154+
switch(req.getParameter("outputMode")) {
155+
case "individual":
156+
outputMode = OutputMode.INDIVIDUAL;
157+
break;
158+
case "composed":
159+
default:
160+
outputMode = OutputMode.COMPOSED;
161+
}
162+
}
145163
try {
146164
ArchiveProperties properties = new ArchiveProperties.Builder()
147-
.name("Java Archiving Sample App").build();
165+
.name("Java Archiving Sample App")
166+
.hasAudio(hasAudio)
167+
.hasVideo(hasVideo)
168+
.outputMode(outputMode).build();
148169
archive = opentok.startArchive(sessionId, properties);
149170
} catch (OpenTokException e) {
150171
e.printStackTrace();

sample/Archiving/src/main/resources/com/example/freemarker/host.ftl

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,29 @@
1414
<div id="subscribers"><div id="publisher"></div></div>
1515
</div>
1616
<div class="panel-footer">
17+
<form class="archive-options">
18+
<fieldset class="archive-options-fields">
19+
<div class="form-group">
20+
<p class="help-block">Archive Options:</p>
21+
<label class="checkbox-inline">
22+
<input type="checkbox" name="hasAudio" checked> Audio
23+
</label>
24+
<label class="checkbox-inline">
25+
<input type="checkbox" name="hasVideo" checked> Video
26+
</label>
27+
</div>
28+
29+
<div class="form-group">
30+
<p class="help-block">Output Mode:</p>
31+
<label class="radio-inline">
32+
<input type="radio" name="outputMode" value="composed" checked> Composed
33+
</label>
34+
<label class="radio-inline">
35+
<input type="radio" name="outputMode" value="individual"> Individual
36+
</label>
37+
</div>
38+
</fieldset>
39+
</form>
1740
<button class="btn btn-danger start">Start archiving</button>
1841
<button class="btn btn-success stop">Stop archiving</button>
1942
</div>

0 commit comments

Comments
 (0)