После того как мы убедились, что веб-страница способна нас понимать, может возникнуть законный вопрос: как насчет ответа?
Рис. 115 …и тебе, Андриано!
Можем ли мы рассчитывать на полноценный разговор? И тут у меня, в общем-то, хорошая новость.
В спецификации присутствует механизм для синтеза речи, организованный очень удобно, правда, с одним небольшим недостатком. Сам синтез происходит через объект SpeechSynthesis, который обладает следующими методами:
— speak() — некие сообщения, накопленные в очереди, подаются на звуковой вывод;
— pause() — переводит звуковой вывод в состояние паузы;
— resume() — выводит звуковой вывод из состояния паузы;
— cancel() — прерывает звуковой вывод и освобождает очередь сообщений;
— getVoices() — возвращает доступные для объекта голоса. Пользоваться этими методами следует так:
<script type="text/javascript">
IpeechSynthesis. speak(IpeechSynthesisUtterance(‘Hello’));
</script>
Правда, здорово? Ну а небольшой недостаток этого механизма заключается в том, что он пока не поддерживается ни одним существующим браузером, то есть нигде не реализован. Обидно, но
будем наедятся, что это всего лишь вопрос времени. И вскоре нам будут доступны сценарии, подобные приводимым в спецификации:
<script type="text/javascript">
Var u = new tpeechSynthesisUtterance(); u. text = ‘Добрый день’; u. lang = ‘ru-RU’; u. rate = 1.2;
U. onend = function(event) { alert(‘Finished in ‘ + event. elapsedTime + seconds.’); }
TpeechSynthesis. speak(u):
</script>
Добавить комментарий