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();
}