1

最初のいくつかのコンテキスト:

ARM で実行されているオレンジ色のパイ (一種のラズベリー パイ 3) があるため、実際のクロムをインストールできません。

クロムで実行されている Node.js アプリがあります。音声認識はクライアント側です。音声認識は、午後 8 時から午前 3 時の間を除いてうまく機能します。アプリは毎日終日実行されます。

いくつかのコード:

  var init = function (sandBox) {
        _sandbox = sandBox;
        _recognition = new webkitSpeechRecognition();
        // Are we processing a short phrase or performing continuous dictation?
        _recognition.continuous = true;
        // Do we require interim results in addition to the final results?
        //_recognition.interimResults = true;

        _recognition.lang = 'fr-FR';
        // Kick off the Speech to Text recognition process
        _recognition.start();
        notify('start recording');
        // Set up 
        _recognition.onstart = function (event) {
            if (_deaf) {
                return;
            }

        };
        _recognition.onerror = function (event) {
           // console.log("onerror", event);
            /*
             _recognition.stop();

             setTimeout(function () {
             _recognition.start();
             }, 1000);
             */
        };
        // Process parsed result
        _recognition.onresult = function (event) {
            notify('display bottom', 'listen : '+event.results[event.results.length - 1][event.results[event.results.length - 1].length - 1].transcript );
            if (_deaf) {
                return;
            }

            if (+event.results[event.results.length - 1][event.results[event.results.length - 1].length - 1].confidence > 0.5) {
                _sandbox.notifyServer('speakable', event.results[event.results.length - 1][event.results[event.results.length - 1].length - 1].transcript);

            }
        };
        // Housekeeping after success or failed parsing
        _recognition.onend = function () {

            try {
                _recognition.start();
            } catch (e) {
                //console.info(e); 
                // do nothing
            }
        };
        /*

         setInterval(function () {
         try {
         _recognition.stop();
         setTimeout(function () {
         _recognition.start();
         }, 1000);
         } catch (e) {
         //console.info(e); 
         // do nothing
         }
         }, 5000);*/
    };

エラー :

ネットワーク エラーが発生しました。しかし、これはネットワークが正常に動作していることを意味しません。

質問: なぜですか? 本当に使いたい場合を除いて、なぜそれがうまく機能するのですか?ブラウザを閉じて再度オンにしても、役に立たないようです。午前 3 時頃に再び機能します..... この問題は私を夢中にさせています。

4

0 に答える 0