Help
cancel
Showing results for 
Search instead for 
Did you mean: 
Copilot Lvl 2
Message 1 of 2

SQL en continu ou autre

Solved! Go to Solution.

Bonjour a tous,

J'ai coder une page de reconnaissance vocal en utilisant le nouveau Web Speech API de Google en JS.Voila ma parti JS :

 

// ####### Afficher des info ############

    function displayInfo(_info,_id){
      var x = document.getElementById(_id);
      x.innerHTML = _info + "<hr />" + x.innerHTML;
    }

    // ######## Date ########
    function MaDate(){
        var LaDate = new Date();
        return LaDate.getHours() + ":" + LaDate.getMinutes() + ":" + LaDate.getSeconds() + ":" +  LaDate.getMilliseconds() + " ";
    }

    // ######### Test browser support #########

    window.SpeechRecognition = window.SpeechRecognition       ||
                               window.webkitSpeechRecognition ||
                               null;

    if (window.SpeechRecognition === null) {
      document.getElementById('ws-unsupported').classList.remove('hidden');
      document.getElementById('button-play-ws').setAttribute('disabled', 'disabled');
      document.getElementById('button-stop-ws').setAttribute('disabled', 'disabled');
    } else {
      var recognizer = new window.SpeechRecognition();
      var transcription = document.getElementById('transcription');
      var log = document.getElementById('log');
      var contenu = "";

      // Le module de reconnaissance n'arrête pas d'écouter même si l'utilisateur fait une pause
      recognizer.continuous = true;

      // Commencez à reconnaître
      recognizer.onresult = function(event) {
        transcription.textContent = '';
          document.getElementById('Rouge').style.visibility="hidden";
        //########## Fonction proncipal #########
        for (var i = event.resultIndex; i < event.results.length; i++) {
          if (event.results[i].isFinal) {
            //##################
            contenu = event.results[i][0].transcript;
            transcription.textContent = contenu;

            if (contenu == ' rouge' || contenu == 'rouge') {
              document.getElementById('Rouge').style.visibility="visible";
              redirectPost('litemanager.nexgate.ch/data-irock7S', 'POST', contenu, '$dataIrock');
            }

          } else {
            transcription.textContent += event.results[i][0].transcript;
          }
        }
        //###############################
      };

      // Écoutez les erreurs
      recognizer.onerror = function(event) {
        log.innerHTML = 'Recognition error: ' + event.message + '<br />' + log.innerHTML;
      };

      // ######## Start ########
      document.getElementById('button-play-ws').addEventListener('click', function() {
        // Définir si nous avons besoin de résultats intermédiaires
        recognizer.interimResults = document.querySelector('input[name="recognition-type"][value="interim"]').checked;

        try {
          recognizer.start();
          log.innerHTML = 'Recognition started' + '<br />' + log.innerHTML;
        } catch(ex) {
          log.innerHTML = 'Recognition error: ' + ex.message + '<br />' + log.innerHTML;
        }
      });

      // ######## Stop ########
      document.getElementById('button-stop-ws').addEventListener('click', function() {
        recognizer.stop();
        log.innerHTML = 'Recognition stopped' + '<br />' + log.innerHTML;
      });

      // ######## Tout effacer ########
      document.getElementById('clear-all').addEventListener('click',
        function() {
        transcription.textContent = '';
      log.textContent = '';
  });
}
 

Maintenant j'aimerai pouvoir écrire en continu sur une base MySQL la chaine de caractère "contenu" qui contient le texte que la personne a dit. Mon problème principal est que je ne veux pas réactualiser la page ! Surtout pas ! Il faut que ce soit en continu. C'est pour ca que je me suis tourner vers un autre langage que le php, alors j'ai chercher longuement si c’était possible en JS mais j'ai rien trouver d'utilisable (normale vue que le js est coté client). Donc avez-vous des idée de ce que je pourrai utiliser ?  :)

 

Et mon bute est de récupérer la chaine de caractère avec une Arduino Yun qui est connecter au réseau donc ça peut être une autre solution (créer un fichier txt coté serveur, j'avais chercher mais j'ai rien trouver).

J'avais commencer en renvoyant l'info avec la méthode POST :

function redirectPost(_url, _method, _data, _name) {
  var form = document.createElement('form');
  document.body.appendChild(form);
  form.method = _method;
  form.action = _url;

  var input = document.createElement('input');   
  input.type = 'text';
  input.name = _name;
  input.value = _data;
  form.appendChild(input);

  form.submit();
}
 

Mais a chaque envoie, la page est réactualiser (comme avec cette même méthode en PHP). Voilà, avez vous des idées ?

1 Reply
Highlighted
Solution
Moderator
Message 2 of 2

Re: SQL en continu ou autre

Hello @BblackMMtal

I'd like to start by saying thank you so much for participating!

 

We take our Code of Conduct very seriously and want to help ensure that everyone has a good experience free of antagonism and harassment.

 

Unfortunately, we don't currently have moderators for languages other than English. What this means is that, until that changes, we need to ask that everyone use English here in the GitHub Community Forum when posting. We'll be locking any posts in languages other than English for now, including this one.

Thanks for meeting us halfway!

 


Greatly appreciated,

-MChevy422

Mark helpful posts with Accept as Solution to help other users locate important info. Don't forget to give Kudos for great content!