-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.js
59 lines (42 loc) · 1.43 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
swal(`Sebut "Aqua" untuk mengganti hero andalanmu!`).then(() => swal(`Allow microphone, terlebih dahulu.`));
async function main() {
changeCharacter();
// Minta ijin audio record
window.SpeechRecognition = window.webkitSpeechRecognition;
const recognition = new SpeechRecognition();
recognition.interimResults = true;
recognition.continuous = true;
recognition.lang = "en-US";
recognition.onresult = (e) => {
const transcript = Array.from(e.results)
.map((result) => result[0])
.map((result) => result.transcript);
isItTrueCommand(transcript);
};
recognition.start();
}
// ['change']
let checked = 0,
limit = 50;
function isItTrueCommand(transcript) {
const command = "aqua";
if (transcript.length > checked) {
checked += 1;
const voiceLast = transcript[checked - 1];
if (voiceLast.indexOf(command) >= 0) {
changeCharacter();
}
console.log(voiceLast);
}
console.log("call");
}
async function changeCharacter() {
const random = Math.round(Math.random() * 50);
let { name, images, about } = await $.get("https://naruto-api.herokuapp.com/api/v1/characters/" + random);
images = `background-image: url(${images[0]})`;
about = about.join("").slice(0, 100);
$(".hero-name").text(name);
$(".hero-img").attr("style", images);
$(".hero-description").text(about);
}
main();