Web Speech API を使用して、開始時にユーザーがボタンをクリックして音声録音を開始する Web アプリケーションを作成しようとしています。ユーザーが話すのをやめると自動的に停止するようにしようとしています。次に、Google Translate API を使用してユーザーの音声を翻訳したいと考えています。問題が発生している Web Speech 部分のコードを含めました。
if (window.webkitSpeechRecognition) {
recognition = new webkitSpeechRecognition();
recognition.continuous = true;
recognition.interimResults = false;
recognition.onresult = function(event) {
var i;
return $('#transcript').text($('#transcript').text() + ((function() {
var _i, _ref, _ref1, _results;
_results = [];
for (i = _i = _ref = event.resultIndex, _ref1 = event.results.length - 1; _i <= _ref1; i = _i += 1) {
_results.push(event.results[i][0].transcript);
}
return _results;
})()).join(''));
};
$('#startStopButton').on('click', function() {
if (this.innerText === 'Start') {
this.innerText = 'Stop';
recognition.lang = 'en-AU';
return recognition.speechstart();
} else {
this.innerText = 'Start';
return recognition.speechend();
}
});
} else {
alert('Cannot access the speech recognition API. Are you using Chrome 25+ ?');
}