1

Я пытаюсь вызвать функцию обратного вызова после того, как chrome.tts.speak закончил речь, и для этого есть приятное пространство аргументов. Но, присмотревшись более подробно об этом, очень неутешительно, это то, что the document говорит:Обратный вызов в chrome.tts.speak?

обратного вызова (дополнительная функция)
Вызывается сразу перед речевыми отделки.

И я не хочу, чтобы это сразу называлось. Я хочу это после речь закончена. Так это возможно? Любой метод приветствуется. (Но не так "Hacky")

ответ

4

В той же странице, он упоминает onEvent (как часть options):

OnEvent (опциональная функция)
Эта функция называется с событиями, которые происходят в процессе произнесения высказывания.
Параметры
событие (TtsEvent)
Обновления события от двигателя преобразования текста в речь, указывающие на статус данного высказывания.

TtsEvent имеет type свойство, которое может быть end, чтобы отметить окончание речи. Соедините это вместе:

chrome.tts.speak("Hello, world!", { 
    requiredEventTypes: ['end'], 
    onEvent: function(event) { 
     if(event.type === 'end') { 
      alert('Speech ended.'); 
     } 
    } 
}); 
+0

Umm ..., я попробовал, и он не работает ... Он по-прежнему вызывает обратный вызов сразу после него. –

+0

Ничего, он работает сейчас. –

+0

@Derek 朕 會 功夫: просьба поделиться вам успешным кодом или ссылкой на него, что поможет другим. – Hugolpz

Смежные вопросы