Skip to content
Snippets Groups Projects
Commit c3c34392 authored by v4nkor's avatar v4nkor
Browse files

Added WIP scrolling + working random recipe

parent de94e1db
No related branches found
No related tags found
No related merge requests found
......@@ -89,7 +89,7 @@ function listenForCristo(){
console.log('Listened');
var speechResult = event.results[0][0].transcript.toLowerCase();
console.log(speechResult);
heardSpan.innerText += " A entendu = " + speechResult;
heardSpan.innerText = " A entendu = " + speechResult;
heardSpan.style.display = "";
voiceSpan.style.display = "none";
console.log('Confidence: ' + event.results[0][0].confidence);
......@@ -112,7 +112,7 @@ function listenForCristo(){
voiceBtn.textContent = 'Ecouter a nouveau';
diagnosticPara.textContent = 'Error occurred in recognition: ' + event.error;
voiceSpan.style.display = "none";
heardSpan.innerText += " Erreur ";
heardSpan.innerText = " Erreur ";
heardSpan.style.display = "";
}
recognition.onaudiostart = function(event) {
......@@ -166,15 +166,17 @@ function listenForCommand(){
console.log('Listened');
var speechResult = event.results[0][0].transcript.toLowerCase();
console.log(speechResult);
heardSpan.innerText += " A entendu = " + speechResult;
heardSpan.innerText = " A entendu = " + speechResult;
heardSpan.style.display = "";
voiceSpan.style.display = "none";
console.log('Confidence: ' + event.results[0][0].confidence);
if(speechResult.toLowerCase().includes("descend")){
speak("Je vais descendre dans la page");
pageScrollDown();
}
else if(speechResult.toLowerCase().includes("monte")){
speak("Je vais monter dans la page");
pageScrollUp();
}
else if(speechResult.toLowerCase().includes("recette")){
if(speechResult.toLowerCase().includes("précédente")){
......@@ -185,6 +187,7 @@ function listenForCommand(){
}
else if(speechResult.toLowerCase().includes("aléatoire")){
speak("Voici une recette aleatoire");
recetteAleatoire();
}
}
else {
......@@ -238,6 +241,39 @@ function listenForCommand(){
}
}
function listenForStop(){
var grammar = '#JSGF V1.0; grammar phrase; public <phrase> = stop | arrete;';
var recognition = new SpeechRecognition();
var speechRecognitionList = new SpeechGrammarList();
speechRecognitionList.addFromString(grammar, 1);
recognition.grammars = speechRecognitionList;
recognition.lang = 'fr-FR';
recognition.interimResults = false;
recognition.maxAlternatives = 1;
recognition.start();
console.log('Started first listening');
recognition.onresult = function(event) {
console.log('Listened');
var speechResult = event.results[0][0].transcript.toLowerCase();
console.log(speechResult);
heardSpan.innerText += " A entendu = " + speechResult;
heardSpan.style.display = "";
voiceSpan.style.display = "none";
console.log('Confidence: ' + event.results[0][0].confidence);
if(speechResult.toLowerCase().includes("stop")){
speak("Je vais arreter de descendre dans la page");
return true;
}
else if(speechResult.toLowerCase().includes("arrete")){
speak("Je vais arreter de descendre dans la page");
return true;
}
else {
return false;
}
}
}
function speak(text){
if (synth.speaking) {
console.error("speechSynthesis.speaking");
......@@ -271,6 +307,38 @@ function enableBtn(){
voiceSpan.style.display = "none";
}
function pageScrollDown() {
window.scrollBy(0,1);
if ((window.innerHeight + Math.round(window.scrollY)) >= document.body.offsetHeight) {
speak("Bas de page atteind, j'arrete de descendre");
}
else{
scrolldelay = setTimeout(pageScrollDown,5);
}
}
function pageScrollUp() {
window.scrollBy(0,-1);
if ((window.innerHeight + Math.round(window.scrollY)) <= document.body.offsetHeight) {
speak("Haut de page atteind, j'arrete de monter");
}
else{
scrolldelay = setTimeout(pageScrollUp,5);
}
}
function getRandomInt(max) {
return Math.floor(Math.random() * max);
}
function recetteAleatoire(){
let recettes = ["cookie-au-chocolat", "soupe-au-potiron", "pain-perdu", "quiche-lorraine"]
let number = getRandomInt(recettes.length);
url = window.location;
window.location.href = url.origin+'/recette/'+recettes[number];
}
function scrollDown(){
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment