0

質問が自動的に入力され、回答は音声で取り込まれるフォームを作成しました。私はJS Webkitライブラリを使ってみましたが、正しく動作しておらず、音声も認識されません。それは以前のスピーチテキストをピックアップし、新しく生成された文字列に追加し続けますが、時間がたつにつれてうまくいきます。誰かが音声をキャプチャしてテキストに変換している場合は、私に知らせてください。どんな助けもありがとう。Webkitとの間でテキストを入力する

コードは、コードにエラーがないと、それはクロムやオペラの最新バージョンで動作するはずですが、FirefoxやIEとSafariのかわからない、ただの確認するようにブラウザをアップデートしてみてください

var recognition = new webkitSpeechRecognition(); 
recognition.lang = "en-IN"; 
// recognition.lang = "hi-IN"; 
function startTextToSpeech(){ 
var recognizing = false; 
var ignore_onend; 
var start_timestamp; 
recognition.continuous = true; 
recognition.interimResults = true; 
var interim_text = document.getElementById('Mytext') 
var final_text = document.getElementById('final_span') 
var textExtracted = ""; 
var final_transcript = ''; 
recognition.onstart = function() { 
    recognizing = true; 
    }; 


recognition.onerror = function(event) { 
    console.log("some error ouccured"); 
    console.log(event) 
    recognition.stop(); 
    try{ 
     recognition.start(); 
    }catch(ex){ 
     console.log(ex) 
    } 
    if (event.error == 'no-speech') { 
     ignore_onend = true; 
    } 
    if (event.error == 'audio-capture') { 
     ignore_onend = true; 
    } 
    if (event.error == 'not-allowed') { 
     ignore_onend = true; 
    } 
    }; 

    recognition.onend = function() { 
    console.log("ended") 
    // recognizing = false; 
    // recognition.start(); 
    // //switchApi(); 
    // if (ignore_onend) { 
    // $("#toggleStart").text("Start"); 
    // $("#listenStatus").text("Speak something to convert it to text");  
    // //clearInterval(StartAnalyzing); 

    // return; 
    // } 
    recognition.stop(); 
    try{ 
     recognition.start(); 
    }catch(ex){ 
     console.log(ex) 
    } 

    // if (window.getSelection) { 
    // recognition.start(); 
    // switchApi(); 
    // window.getSelection().removeAllRanges(); 
    // var range = document.createRange(); 
    // range.selectNode(document.getElementById('final_span')); 
    // window.getSelection().addRange(range); 
    // } 
    }; 

recognition.onresult = function(event) { 

    var interim_transcript = ''; 
    if (typeof(event.results) == 'undefined') { 
     recognition.onend = null; 
     //recognition.stop(); 
     return; 
    } 

    for (var i = event.resultIndex; i < event.results.length; ++i) { 
     if (event.results[i].isFinal) { 
     final_transcript += event.results[i][0].transcript; 
     } else { 
     interim_transcript += event.results[i][0].transcript; 
     } 
    } 
    final_text.innerHTML = final_transcript; 
    interim_text.innerHTML = interim_transcript; 
    textExtracted = final_transcript+interim_transcript; 
} 
recognition.start(); 
} 

答えて

0

をbelow-何をしているの。

関連する問題