screenshot using web ui

This commit is contained in:
Devaev Maxim 2018-09-29 03:43:46 +03:00
parent 7d403822b5
commit 6d57846ef4
2 changed files with 22 additions and 4 deletions

View File

@ -71,7 +71,8 @@
<button id="show-keyboard-button">&bull; Show keyboard</button>
<hr>
<button id="show-stream-button">&bull; Show stream</button>
<button disabled id="stream-reset-button">&bull; Reset stream</button>
<hr>
<button disabled id="stream-screenshot-button">&bull; Take a screenshot</button>
</div>
<hr>
<div data-dont-hide-menu class="ctl-dropdown-content-text">
@ -85,6 +86,9 @@
<input id="stream-size-slider" type="range" min="50" max="150" value="100" step="10" />
</div>
</div>
<div class="ctl-dropdown-content-buttons">
<button disabled id="stream-reset-button">&bull; Reset stream</button>
</div>
</div>
</div>
</li>

View File

@ -19,11 +19,14 @@ function Stream() {
$("stream-quality-select").innerHTML += "<option value=\"" + quality + "\">" + quality + "%</option>";
}
tools.setOnClick($("stream-reset-button"), __clickResetButton);
tools.setOnClick($("stream-screenshot-button"), __clickScreenshotButton);
$("stream-quality-select").onchange = __changeQuality;
$("stream-size-slider").oninput = __resize;
$("stream-size-slider").onchange = __resize;
tools.setOnClick($("stream-reset-button"), __clickResetButton);
__startPoller();
};
@ -42,8 +45,9 @@ function Stream() {
$("stream-box").classList.add("stream-box-inactive");
$("stream-led").className = "led-off";
$("stream-led").title = "Stream inactive";
$("stream-reset-button").disabled = true;
$("stream-screenshot-button").disabled = true;
$("stream-quality-select").disabled = true;
$("stream-reset-button").disabled = true;
} else if (http.status === 200) {
if (__prev_state) {
if (__normal_size != response.stream.resolution) {
@ -58,8 +62,9 @@ function Stream() {
$("stream-box").classList.remove("stream-box-inactive");
$("stream-led").className = "led-on";
$("stream-led").title = "Stream is active";
$("stream-reset-button").disabled = false;
$("stream-screenshot-button").disabled = false;
$("stream-quality-select").disabled = false;
$("stream-reset-button").disabled = false;
}
}
}
@ -67,6 +72,15 @@ function Stream() {
setTimeout(__startPoller, 1000);
};
var __clickScreenshotButton = function() {
var el_a = document.createElement("a");
el_a.href = "/streamer/snapshot";
el_a.download = "screenshot.jpg";
document.body.appendChild(el_a);
el_a.click();
setTimeout(() => document.body.removeChild(el_a), 0);
};
var __clickResetButton = function() {
$("stream-reset-button").disabled = true;
var http = tools.makeRequest("POST", "/kvmd/streamer/reset", function() {