-
Notifications
You must be signed in to change notification settings - Fork 1
/
script.js
36 lines (32 loc) · 860 Bytes
/
script.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
document.getElementById("start").addEventListener("click", async function(evt) {
var stream = await navigator.mediaDevices.getDisplayMedia({
video: {
cursor: "always"
},
audio: false
});
record(stream)
}, false);
function record(stream) {
var options = { mimeType: "video/webm; codecs=vp9" };
mediaRecorder = new MediaRecorder(stream, options);
mediaRecorder.ondataavailable = function(event) {
if (event.data.size > 0) {
download(event.data);
}
}
mediaRecorder.start();
}
function download(recording) {
var blob = new Blob([recording], {
type: "video/webm"
});
var url = URL.createObjectURL(blob);
var a = document.createElement("a");
document.body.appendChild(a);
a.style = "display: none";
a.href = url;
a.download = "Recording.webm";
a.click();
window.URL.revokeObjectURL(url);
}