-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathscript.js
83 lines (73 loc) · 2.51 KB
/
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
let mainArea = document.querySelector(".main_area");
let galleryCard = document.querySelector("#gallery");
let cameraCard = document.querySelector("#camera");
let screenRecCard = document.querySelector("#screenRec");
let cards = document.querySelectorAll(".card");
let popMsg = document.querySelector("#popUpMsg");
let popwindow = document.querySelector("#popup_window");
let textBox = document.querySelector("#textBox");
let enterBtn = document.querySelector(".enter");
for (let i = 0; i < cards.length; i++) {
cards[i].addEventListener("click", function () {
cards[i].classList.add("activeCard");
setTimeout(function () {
cards[i].classList.remove("activeCard");
}, 150);
})
}
galleryCard.addEventListener("click", function () {
window.location.assign("./Gallery/g_index.html")
})
cameraCard.addEventListener("click", function () {
window.location.assign("./Camera/c_index.html")
})
let letraints = {
video: { mediaSource: "screen" }
}
let buffer = [];
let recordState = false;
let mediaRecorder;
screenRecCard.addEventListener("click", async function (e) {
await navigator.mediaDevices.getDisplayMedia(letraints)
.then(function (mediaStream) {
mediaRecorder = new MediaRecorder(mediaStream);
mediaRecorder.addEventListener("dataavailable", function (e) {
buffer.push(e.data);
})
mediaRecorder.addEventListener("stop", function () {
popwindow.classList.add("show");
mainArea.style.opacity = 0.5;
popUpWindow();
popUpMsg();
})
}).catch(function (err) {
console.log(err)
});
if (recordState == false) {
mediaRecorder.start();
recordState = true;
} else {
mediaRecorder.stop();
recordState = false;
}
})
function findDate() {
let date = new Date();
let str = date.getDate() + "/" + date.getMonth() + "/" + date.getFullYear();
return str;
}
function popUpMsg() {
popMsg.className = "show";
setTimeout(function () { popMsg.className = popMsg.className.replace("show", ""); }, 2000);
}
function popUpWindow() {
enterBtn.addEventListener("click", function () {
let mediaName = textBox.innerText;
let date = findDate();
let blob = new Blob(buffer, { type: 'screenRec/mp4' });
addMedia(blob, "scrvideo", mediaName, date);
buffer = [];
mainArea.style.opacity = 1;
popwindow.classList.remove("show");
})
}