Ich versuche zu erkennen, wenn der Benutzer pausiert und wieder zu sprechen, ohne zu stoppen zu erkennen. Dies ist der Code, den ich zu erkennen, auf, wenn der Benutzer Gespräche und Ausgabe, die es auf der Seite:Ermitteln Sie die Zeit, wenn der Benutzer SpeechRecognition API spricht?
//set up vars
var final_transcript;
var recognizing = false;
//check if using chrome and up to date
if ('webkitSpeechRecognition' in window) {
//init
var recognition = new webkitSpeechRecognition();
recognition.continuous = true;
recognition.interimResults = true;
recognition.onstart = function() {
recognizing = true;
};
//if there is error somewhere
recognition.onerror = function(event) {
console.log(event.error);
};
recognition.onend = function() {
recognizing = false;
};
//after giving the spech
recognition.onresult = function(event) {
var interim_transcript = '';
for (var i = event.resultIndex; i < event.results.length; ++i) {
if (event.results[i].isFinal) {
// finilize and show the compleated text
final_transcript += event.results[i][0].transcript;
} else {
// run the speech and output it
interim_transcript += event.results[i][0].transcript;
}
}
final_transcript = capitalize(final_transcript);
final_span.innerHTML = linebreak(final_transcript);
interim_span.innerHTML = linebreak(interim_transcript);
};
}
var two_line = /\n\n/g;
var one_line = /\n/g;
function linebreak(s) {
return s.replace(two_line, '<p></p>').replace(one_line, '<br>');
}
function capitalize(s) {
return s.replace(s.substr(0,1), function(m) { return m.toUpperCase(); });
}
function startDictation(event) {
if (recognizing) {
recognition.stop();
return;
}
final_transcript = '';
recognition.lang = 'en';
recognition.start();
}
//startDictation();
<div id="results">
<span id="final_span" class="final"></span>
<span id="interim_span" class="interim"></span>
</div>
So gibt es eine Möglichkeit zu erkennen, wenn der Benutzer Pausen und die Länge der Zeit, er machte eine Pause ?
Dies funktioniert gut, aber ich habe eine letzte Frage, ich möchte den Text zeigen, wenn ich auf ‚END‘ klicken. Also das habe ich ausprobiert https://jsfiddle.net/rp45c1rw/, ich habe die console.log zur window.end Funktion hinzugefügt und es gab undefined zurück, also gibt es eine Möglichkeit, sogar auf dem window.end zu zeigen? – Mohammed
Das funktioniert: https://jsfiddle.net/persianturtle/7uygdyy1/2/ –
Das war, was ich suche danke – Mohammed