Невозможно очистить текстовую область с помощью распознавания речи Webkit в JavaScript - PullRequest
0 голосов
/ 11 декабря 2018

На моей HTML-странице у меня есть текстовое поле:

<textarea id="ex.note-textarea" placeholder="Create a new note by typing or using voice recognition." rows="6"></textarea>

и две кнопки для начала распознавания и окончания.

И в моем AngularJS контроллер

function exController(){
    var self = this;
    let finalTransScripts = '';
    let speechRecognizer = new webkitSpeechRecognition();

    this.startRecognition = function() {        
        if('webkitSpeechRecognition' in window) {
            let r = document.getElementById("ex.note-textarea");
            speechRecognizer.continuous = true;
            speechRecognizer.interimResults = true;
            speechRecognizer.lang = 'en-IN';
            speechRecognizer.start();

            speechRecognizer.onresult = function(e) {
                let interimTransScripts = '';
                for(let i = e.resultIndex; i < e.results.length; i++) {
                    let transScript = e.results[i][0].transcript;
                    transScript.replace('\n','<br>');
                    if(e.results[i].isFinal) {
                        finalTransScripts += transScript;
                    }else {
                        interimTransScripts += transScript;
                    }
                }
                r.innerHTML = finalTransScripts  + interimTransScripts ;
            }

            speechRecognizer.onerror = function() {

            }
        }else {
            r.innerHTML = "Your browser is not supported";
        }       
    }

    this.stopRecognition = function() {
        speechRecognizer.stop();
        // This is not clearing 
        document.getElementById("ex.note-textarea").innerHTML = '';
    }

Даже если теперь после остановки я снова нажимаю кнопку start, старый текст остается .

Что яделать неправильно?

...