А поговорить? SpeechSynthesis

После того как мы убедились, что веб-страница способна нас понимать, может возникнуть законный вопрос: как насчет ответа?


Рис. 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>

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *