Я пытаюсь создать поле ввода на планшете робота Pepper, которое позволяет пользователю вводить свой адрес электронной почты голосом. Я использую поле распознавания речи, чтобы получить письмо, которое говорит пользователь, и вызвать событие, чтобы Javascript мог его перехватить и изменить текст. Но кажется, что "document.getElementById("abc").value" никогда не получает то, что в данный момент находится на экране, но значение по умолчанию.
Пример: я говорю «1», он показывает «hello1» (полностью хорошо). Затем я говорю «2», отображается «hello2» (ожидается «hello12»)
Вот мой JS-код:
var session = new QiSession(function(session) {
// "Connection esterblished!";
}, function() {
// "Could not connect to the robot";
});
// Subscribe to ALMemory Service
session.service("ALMemory").then(function(ALMemory) {
// "ALMemory proxy subscription successful!";
ALMemory.getData('voice_input').then(function(voice_input){
document.getElementById("abc").value += voice_input;
});
});
HTML-код:
<input type="text" name="email" id="abc" value="hello">
Есть ли что-то связанное с "сеансом"? Потому что, даже если я использую глобальную переменную для хранения голосового ввода, я могу только изменить значение этой переменной, но не могу получить текущее значение этой переменной внутри функции (то, что я могу получить, это инициализированное значение).